編集:これはコードから一歩踏み出したので、今私にはもっと意味をなさない。j2me "ターンベース"ゲームのためのGameloop
先日、コーディングホラーでスタックオーバーフローが検出されました。すばらしく見えます。私が現在取り組もうとしている問題についてコミュニティに聞いてみよう。
midp 2.0携帯電話用のj2meを使用して、roguelike sortofゲームを開発しています。このプロジェクトは、それがどのように機能するかを把握するために、まだ開発の基本段階にあります。私が現在取り組んでいる部分はスレッディングと関係があります。
GameCanvasとImplements runnableを継承するカスタムHaxCanvas
クラスがあります。実行メソッドはrepaint()を呼び出してから50msの間スリープし、フレームレートは20FPSになります。これにより、どこにでも塗り替えを行うことなく残りのゲームを書くことができ、後でアニメーションやエフェクトを簡単にする必要があります。 (少なくとも理論的には)。
ゲームの流れはGameManagerクラスによって制御されます。GameManagerクラスは、マップ上のすべてのNPCを順番に巡回し、それがプレーヤーの順番になるまでループします。この時点で、私はプレイヤーが移動したり、攻撃したりするための情報を得る必要があります。私はもともとHaxCanvas
のkeyPressed
メソッドでgameManager.runUntilHeroTurn()
と呼んでいました。しかし、J2MEのシステムスレッドを読んだあと、コールバックで潜在的に実行可能なメソッドを置くことは悪い考えです。しかし、私は数字キーにアクセスする必要があるので、私は入力ハンドリングを行うためにkeyPressedを使う必要があり、getKeyStates()
はこれをサポートしていません。
ソファ私のゲームルップを自分のスレッドに入れようとした私の試みは、災害をもたらしました。スタックトレースのない奇妙な "キャッチされていないArrayIndexOutOfBoundsException"は、ゲームが数回実行された後に表示されます。
は、だから私は私の質問はこれであるとしますJ2MEの「ターンベースの」ゲームのために
、それはプレイヤーのターンだときの入力だけhandelingを可能に、ゲームループを実施するための最良の方法は何ですか?
ところで、良い質問。 +1 – Fostah