2

そこで、Mathew Casperson のMaking Games on Android Tutorialに従い、数日前に小さなゲームを実行しました。現在、コントロールを方向パッドではなくタッチスクリーンに切り替えようとしています。

私はいくつかの問題に直面しており、ここで誰かが私を助けることができるかどうか疑問に思っていました. Flixel にはタッチスクリーン機能が組み込まれていないためonTouchEvent(MotionEvent event)、Activity (FlixelDemo.javaチュートリアル) でオーバーライドし、できればタッチの座標を取得しています。

次にPlayer.java、タッチ座標が与えられた場合、プレーヤーがタッチされたかどうかを教えてくれる機能があります。

isCollision私が抱えている問題は、アクティビティからその関数 ( ) を取得/呼び出す方法を見つけようとしていることです。

でのみ onTouchEvent をオーバーライドでき、プレーヤーを追加する場所でのみ関数をFlixelDemo.java使用できるようです。isCollisionGameState.java

オーバーライドされたタッチ イベントから他のクラスへの情報を取得するにはどうすればよいですか? 誰かが私が間違っていることを教えてくれますか、またはタッチイベントを実装する別の方法を理解するのを手伝ってくれますか?

4

1 に答える 1

0

コードを見ると、実際には (ファイルを介して)FlixelDemoためのコンテナーにすぎません。org.flixel.FlxGameViewres/layout/main.xml

onTouchEventメソッドは任意の に適用できるViewため、flixel ビューポートだけに適用できます。

実際、これがおそらくここでやりたいことです: ハンドラを に直接追加し、内部クラスFlxGameView.javaのメソッドを呼び出させます。GameThread

すでにこの方法で他のイベントを処理しています。良い例については、FlxGameView.onKeyDown(および関連する) を参照してください。FlxGameView.GameThread.doKeyDown

于 2011-10-26T01:13:59.660 に答える