問題タブ [stencyl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - ゲーム レイアウト ジェネレーター (行き止まりなし)
Stencyl を使用して最初のゲームを作ろうとしています。ゲームは非常にシンプルなコンセプトに基づいていますが、レベルを生成するのは難しいと感じています.
これがゲームの仕組みです。プレイヤーは静止しており、車線を左右に変更できます。実際の「障害物」(水平線と垂直線) は下に移動します。プレイヤーが「閉じ込められる」ことがないように、これらの水平線と垂直線を何らかの方法で生成する必要があります (つまり、4 つのレーンすべてが一度に遮断されることはありません)。
私の最初のアイデアは、いくつかの異なるレイアウト (10 ~ 30) を作成し、画面外 (上部) にランダムなレイアウトを生成してから下に移動することでした。これに関する問題は、メモリに関して非常に効率的ではないことです。
可能なレイアウトを作成して生成するある種のレイアウトジェネレーターを作成することを考えています。必要に応じて、さまざまなソフトウェア/ツールを使用することにオープンです。任意のガイダンスをいただければ幸いです。私が避けようとしているものの例
haxe - 静的メソッド/stackoverflow エラーで関数にアクセスできません - Haxe
まず、ここで少し背景の話をします。基本的なゲーム開発を教えるために、Game Engine Stencyl (インターフェイスは Scratch に例えることができます) を使用しています。残念ながら、これはかなり小規模なチームであるため、いくつかの便利な組み込み関数がまだ不足しているため、独自の拡張機能を作成することにしました。私は C#、Java、および UnityScript の使い方を知っていますが、これらの拡張機能は Haxe で作成する必要があります。APIページで答えを見つけるためにすでに数日間試しましたが、それは私の経験レベルをはるかに超えています.
最初の問題は、いくつかのマップ関数を使用しようとしているだけですが、メソッドはすべて静的であることです。16 行目のような関数を使用しようとするたびに、次のようなmapCount()
エラーがスローされますCannot access controls in static function
。これまでのところ、これは静的メソッドから非静的関数を呼び出すことができないためであることがわかりましたが、これに取り組む方法がわかりません (そして、おそらく将来的にはこのような問題が増えるでしょう)。
2 つ目の問題は、14 行目のコメントを外して 16 行目をコメント アウトすると、ゲームは正常にコンパイルされますが、stackoverflow エラーでクラッシュすることです。この関数の引数は次のとおりです。createRecycledActor(actorType, x, y, layerPosition)
これが私のスクリプトの現在の状態であり、現在は多くのことを行っていませんが、この新しい言語の使い方を少しずつ学んでいます。さらに情報が必要な場合は、お知らせください。
Ps、15行目のトレース機能は問題なく動作します。
haxe - Haxe for ループは最後の項目のみを使用します
いくつかのテストを数時間行った後、マップに正しい値が含まれていることがわかりましたが、使用しているループは、このマップで最後に追加された値のみを使用しているようです。ここで明らかな何かが欠けていますか?
アイテムをマップに追加する関数: (controls はマップ変数です)
3 つのサムスティックを作成すると、ログに次のように表示されます。
画面に触れると、マップ内の各アイテムをループする必要がありますが、最後に追加されたアイテムを 3 回使用して、3 つのアイテムすべてを 1 回ではなく、距離をチェックしています。画面がタッチされたときに呼び出されるリスナーは次のとおりです。
画面に触れると、ログに次のように表示されます。
私は Haxe 言語にまったく慣れていないので、Haxe API を綿密に追跡した後でも、明らかな何かが欠けていると思います。これは、Haxe API ページから使用された例です。
すべての説明は大歓迎です!
ControlUnit クラスを追加しました: