皆さん、ここに私のジレンマがあります。
私は、アニメーション リスナーを使用して使用しているアニメーション スプライトを持っており、アニメーションがいつ終了したか、または最後のフレームであるかを知ることができます。
アニメーションが最後のフレームにあるとき、衝突しているオブジェクトを削除したいと思います。
だからここに私が今抱えている問題があります:
衝突を検出するために TimeHandler を使用していますが、問題はランダムな量の取り外し可能なオブジェクトがゲームに追加されていることです。ロード時にシーンに追加されると、それらを LinkedList に追加します。
次に、TimeHandler で、このような衝突を検出しようとします。
mEngine.registerUpdateHandler(new TimerHandler(.005f, true,
new ITimerCallback() {
@Override
public void onTimePassed(final TimerHandler pTimerHandler) {
if (frames == 1) {
if (woodSprites.hasNext()) {
Sprite sprite = woodSprites.next();
if (bombSprite.collidesWith(sprite)) {
Log.e("Frame", "Collision");
removeFace(sprite);
}
}
}
}
}));
このアプローチの問題点は、爆弾スプライトがイテレータの次ではない取り外し可能なスプライトと衝突した場合、衝突を検出せず、何も起こらないことです。衝突が発生したときに、その特定の取り外し可能なスプライトを削除できるようにする必要があります
これを機能させるための提案を知っている人はいますか?