0
你好,我正在創建一個射擊子彈的槍的系統。AS3:矢量項目未拼接
更新功能處理是這樣的:
var b:Bullet;
var l:uint = bulletList.length;
var i:uint;
for (i = 0; i < l; i++) {
b = bulletList[i];
b.sprite.x += b.vx;
b.sprite.y += b.vy;
if (b.sprite.x > 1200 || b.sprite.x < -100 || b.sprite.y < -1000) {
deleteBullet(b);
bulletList.splice(i,1);
}
}
public function deleteBullet(b:Bullet) {
b.sprite = null;
b = null;
}
當我拍了子彈,它去它產生一個錯誤的邊緣,有時它會創建一個新的,但一個沒有任何議案。這是我得到的錯誤:
RangeError: Error #1125: The index 1 is out of range 1.
非常感謝!當我發現這樣的錯誤時,它總是我不能想到的最簡單的事情。而且我不需要,這工作得很好! – tversteeg 2012-08-15 21:27:21
我用另一個想法更新了我的答案。每當你拼接你的陣列,你最終會跳過陣列中的下一個對象,如果你不這樣做 - – BadFeelingAboutThis 2012-08-15 21:28:41
哦,是的,你的權利,我從來沒有想過,但我從來沒有遇到過麻煩。 – tversteeg 2012-08-15 21:32:51