0
我遇到的問題是,當我的玩家用盾牌與敵人碰撞時,它應該只能摧毀敵人。相反,它會刪除陣列中的每個敵人。調用來移除敵人的功能在其他地方使用,並且它可以正常工作。碰撞檢查和刪除敵人的問題
這是碰撞檢測功能:
function collisionCheck(){
enemyLoop :for(var i:int = level.enemies.length-1; i>=0; i--){
if(!shield){
removeEnemy(i, true);
removePlayer();
return;
}
else{
removeEnemy(i, false); //This is what is called when I get this issue
return;
}
}
刪除敵人功能:
public function removeEnemy(enemyNum:int, playerDown:Boolean){
if(!playerDown){
killsMade++;
if(level.levelObjects.contains(level.enemies[enemyNum].healthBar)){
level.levelObjects.removeChild(level.enemies[enemyNum].healthBar);
}
level.enemies[enemyNum].enemyHit(true);
level.enemies[enemyNum].gotoAndPlay("Explosion");
explodedEnemyNum = enemyNum;
playExplosionSound();
explosionDone();
}
這是去除敵人精靈
public function explosionDone(e:TimerEvent){
stopExplosionSound();
if(level.enemies[explodedEnemyNum] != null){
level.levelObjects.removeChild(level.enemies[explodedEnemyNum]);
level.enemies.splice(explodedEnemyNum, 1);
}
}
感謝您的幫助功能, 需要幫助請叫我。
什麼是'playerDown','healthBar'是什麼意思? – 2012-08-17 01:54:31
playerDown只是一個在這種情況下並不真正使用的布爾值。 HealthBar是被移除的敵人healthBar。 – oliboon 2012-08-17 05:33:50
我有些困惑。請檢查以下真正的問題。你希望有盾牌的玩家去除敵人。但現在問題不是所有的敵人都被碰撞了嗎? – 2012-08-17 05:46:20