2012-01-11 7 views
0

私はアンドロイドでandengineを使用してゲームを作っていますが、このゲームではさまざまなスプライト(卵)がscreen.iで個別にタッチイベントを取得したい、あるスプライトが別のスプライトに重ね合わされているときに、onAreaTouched()は、ここでfalseを返した場合や、super.onAreaTouched()を返した場合に、両方のスプライトのtouchイベントを返します。スプライトがタッチイベントを与えることができませんでしたandengineを使用してゲームで複数のスプライトに適切なタッチイベントを取得

これは、上に示したスプライトだけのタッチイベントを取得する適切な方法です。

答えて

1

もう1つの方法はIOnSceneTouchListenerで、方法はonSceneTouchEventです。 pTouchEventパラメータからX & Yを取得し、スプライトにそれが含まれているかどうかを確認できます。

あなたが知らなかった場合、各エンティティには子供のリストがあります(あなたのシーンはエンティティです)。 エンティティ自体を描画するときには、子の描画メソッドも呼び出します。子どもの描画メソッドは、最初の子メソッドから最後の子メソッドまで呼び出されます(リスト内の順序として)。したがって、リストの最初の子が最初に描画されます。最後のものが最後に描画されます。 だから最後のものは、引き継がれている他のエンティティを常に上書きします。

したがって、シーンの子リストを最後の子から最初の子リストに反復処理します。スプライトにタッチポイントが含まれている場合は、イベントを処理させてがtrueを返します。イベントを消費したと言います。

+0

ありがとうございました。私はそれを試してみます。 –

関連する問題