2016-10-25 21 views
0

私はカードゲームを作成するためにLibGDXで作業を始めましたが、入力には苦労しています。現在、私のプログラムはいくつかのクラスを持っています:ゲームは、さまざまなプレーヤーを作成し、順番を制御します。これはもちろん、メインのcreate()メソッドとrender()メソッドが呼び出される場所です。libgdx InputListener:アクターが別のクラスからタッチされたときの検出

また、プレーヤークラス、カードクラス、デッキ、ハンド、プレイエリアのクラスもあります。

プレーヤークラスは、さまざまなカードスタック(デッキ、ハンド、プレイエリア)間でカードを移動する役割を担います。カードクラスは、ゲーム内のさまざまなカードのアクタークラスです。これは、入力リスナーが作成される場所です。

私が抱えている問題は、カード入力リスナーがその特定のカードの入力を検出したとき(そのカードがユーザーによってクリックされたとします)、次にプレーヤークラスのための方法を見つけられないようですその入力を登録し、それに応じてカードに作用する。カードクラスがユーザーから何らかの入力を登録したときに、プレーヤークラスに知らせることはできますか?

答えて

0

ゲームのよくある問題は、すべてがすべてを知る必要があることです。すべてのオブジェクト内でオブジェクト間の参照を保持することはできますが、それはコードが非常に緊密に結合され柔軟性に欠けることを意味します。これが解決できるより良い方法は、メッセージングシステムです。メッセージングシステムを持つプロジェクトにgdx-aiを組み込むことができます:https://github.com/libgdx/gdx-ai

関連する問題