AndEngineを使用してAndroidゲームを作成しようとしていて、いくつかの成功を収めています。私はターゲットタップのクローンを作成しようとしています。これは基本的に画面上のいくつかの異なるターゲットをタップしてそれらを取り除くことです。AndEngine - スプライトが画面に残っている...時々
これは1つのターゲットで完全に動作し、それを削除するためには簡単にタップできます。問題は、画面上に複数のターゲットがある場合、常にが消えますが、ポイントを追加して1つのヒット時に発生するはずのものをすべて追加することです。
runOnUpdateThread(...)ブロック内でスプライトを実行する正しい方法を(私が知る限り)削除します。
Game.runOnUpdateThread(new Runnable() {
@Override
public void run() {
// Loop through all targets and check validity
for (Iterator<Target> i = Game.this.mTargets.iterator(); i.hasNext();) {
Target t = i.next(); // Target extends Sprite
// If the target isn't valid, remove it from the scene and ArrayList
if (!t.isValid()) {
scene.unregisterTouchArea(t);
scene.detachChild(t);
Game.this.mTarget.remove(t);
}
}
}
申し訳ありませんが、これは少し簡単ですが、どこに問題があるのか分かりませんから、私はどのコードを提供するのか分かりません。私は現在、実際のデバイスでそれをテストすることはできませんが、これが単にエミュレータと何かになるかどうか疑問に思っていたのは、コードが正確であると判断し、多くのことを試みたからです。私を助けてくれる助けが必要な場合は、私に知らせてください!
ありがとうございます。
うん、私は一種の投稿後数時間を実現していません。私は今すぐ削除する代わりにリセットしただけの数のターゲットを持つことにしました。ありがとう! – Peter
@Bigtoes逆向きに繰り返すのはなぜですか? (あなたがインデックスで遊ぶ必要はありません;)(List.size()を避けることができます)すべてのループを呼び出します)。 – sjkm