2

というわけで、ゲームをSlick2Dにコンバートしました。ムーブメントが壊れてしまい、途方に暮れています。以前は KeyPressed メソッドと keyReleased メソッドを使用していましたが、Slick2D では正しく動作しません。

はい、Slick2D に変換しても何もうまくいきませんでした。最初に、以前にヘルプ トピックがあったランチャー、そして今回はこれです。ただし、もう 1 つのトピックは、コードを嫌う WebStart の問題でした。

A を使用すると、右にのみ移動できます。移動を停止することはできません。正しい方法を使用していますか? どうすれば修正できますか?どんな助けでも大歓迎です!

役立つ場合は、コードへの PasteBin リンクを次に示します。http://pastebin.com/GRH86Yuw

4

1 に答える 1

3

私は Slick のファンです。喜んでお手伝いします。

基本的な違いは、入力に関しては、Slick がイベント駆動型モデルではなく、ポーリング モデルであることです。基本的に、ロジック更新メソッドでは、イベントにバインドされたキーをループし、現在押されているキーがあるかどうかを確認してから、それらのイベントをトリガーします。必要に応じて説明できるいくつかの理由により、ポーリングは、特にキーの数が多いゲームでうまく機能する傾向があります。それは物事を行う別の方法であり、それほど複雑ではありません。最大の利点は、複数の KeyListener インスタンス オブジェクトに分散するのではなく、単一のメソッドを集中的に入力処理できることです。

Pedestrians (Slick で実装された単純な歩行者シミュレーション)を見たい場合は、Slick で入力を処理する方法の例を見ることができます。

具体的には、メソッド内でこのファイル(192 ~ 295 行目) の入力を処理しますprocessInput。基本的に、GameContainerオブジェクト (ゲームを含む Slick オブジェクト) への参照を渡します。そこからInput、どのキーが押されたか、どのマウス ボタンがクリックされたかなどを確認できるインスタンスへのインスタンスを取得できます。

于 2011-12-17T01:55:08.477 に答える