私はフラッシュcs4でプラットフォームゲームに取り組んでおり、私はこのエラーに遭遇しました。それは、プレイヤーが敵を撃って、弾丸のクラスが敵のクラスと衝突するときに起こります。ここで私のコードは、エラーがenemyDead [i] = trueにあります。行フラッシュas3はブール値でプロパティ0を作成できませんか?
if(enemyList.length>0) {
for (var i:int = 0; i < enemyList.length; i++) {
if (bulletList.length>0) {
for (var j:int = 0; j < bulletList.length; j++) {
if (enemyList[i].hitTestObject(bulletList[j])) {
trace("Bullet and Enemy are colliding");
enemyList[i].gotoAndPlay("dead");
enemyDead[i] = true;
bulletList[j].removeSelf();
enemyList[i].xSpeedConst=0;
} else if(enemyList.length>0){
enemyDead = false;
}
}
}
}
}
}
もちろん、敵の舞台は問題を引き起こしていると思われるブール変数です。私は何時間もこの修正を行っていますが、xspeedConstプロパティを0に設定しても、敵が動いていることを除いて、どのように正しく動作しているのかは分かりません(箇条書きです)
私は最初の真のenemyDead =を追加してみました。 [i]がなくてもひどくうまくいきましたが、どんな助けもありがたいです。 – Dan
「敵のデッド」とは何ですか?配列またはブール値? – akmozo
デバッガを使用して、エラーを投げる正確な行を指摘してください。 'enemyList [i] .enemyDead = true;'(あなたのenemyDeadフラグは敵オブジェクトのプロパティになるはずです)。または、別の配列であればelseはifでなければなりません: 'enemyDead [i] = false;'そうでなければ配列の代わりにブール値に設定します – BadFeelingAboutThis