嘿,伙计们,这是我的困境。
我有一个动画精灵,我正在使用它并使用动画侦听器来了解动画何时完成或其最后一帧。
当动画在最后一帧时,我想删除它碰撞的任何对象。
所以这是我现在遇到的问题:
我正在使用 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);
}
}
}
}
}));
这种方法的问题在于,如果炸弹精灵与迭代器中不是下一个的可移动精灵发生碰撞,那么它不会检测到碰撞并且不会发生任何事情。我需要能够在发生碰撞时移除特定的可移动精灵
有谁知道或有任何建议让这个工作?