嘿傢伙,所以這裏是我的困境。檢測與LinkedList中的精靈的碰撞
我有一個動畫精靈,我正在使用並使用動畫偵聽器來了解動畫何時完成或其最後一幀。
當動畫在其最後一幀時,我想刪除它碰撞的任何對象。
因此,這裏是我現在我遇到的問題:我使用的是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);
}
}
}
}
}));
這種方法的問題是,如果炸彈精靈與可拆卸的精靈,在迭代心不是未來的碰撞則不會檢測衝突和什麼都不會發生。我需要能夠刪除特定的可移動精靈,當它發生衝突
有誰知道或有任何建議讓這個工作?
LinkedList中有多少項目?迭代項目和呼叫碰撞對於每個項目來說是否太昂貴? – acj