2012-03-08 7 views
0

私は、Actionscript 2で弾丸と敵の配列の衝突をテストしようとしています。しかし、衝突を感知していません。これは箇条書きのコードです。それだけで負荷に0に設定されているよう動きのあるインスタンスと配列の間の衝突検出は機能しませんか?

onClipEvent(load) 
{ 
    facing = _root.player.facing; 
    speed = 1; 
    i = 0; 
} 

onClipEvent(enterFrame) 
{ 

if (this._name != "bullet") 
{ 
    this._x += facing * speed; 

    while (i < _root.enemyID) 
    { 


     if (Math.abs(this._x - _root.enemies[i]._x)<10) 
     { 
      trace("hit enemy"); 

     } 
     i++; 
    } 
} 

}

+0

私は、ActionScript 3を正しく動かすことをお勧めします。次に、Box2Dのようなオープンソースの物理ライブラリを使用することをお勧めします。 – Marty

答えて

1

変数iが見えます。したがって、最初のフレームですべての敵をチェックすることになりますが、iは常にenemyIDよりも大きくなるので、再びループに入ることはありません。

whileループの直前にi = 0;を設定してみてください。

+0

ありがとうございました、それは問題でした。 – bluepanda