これは、私が取り組んでいる小さなフラッシュ ゲームからの小さなスニペットです。
私の GamePlayScreen クラスからのこのビット:
public function handleKeyboard(e:KeyboardEvent):void {
if(e.type == KeyboardEvent.KEY_DOWN && e.keyCode == Keyboard.ENTER) {
var enemy:EnemyShip = new EnemyShip();
enemyships.push(enemy);
addChild(enemyships[enemyships.length-1]);
}
}
このビットがエラーの原因です (行に * を付けました)
for each (var enemy:EnemyShip in Game.gameplay.enemyships) {
if(this.hitTestObject(enemy)) {
*enemy.parent.removeChild(enemy);
}
ゲームプレイは、ドキュメント クラス Game で宣言された GamePlayScreen のインスタンスです。私はすでにenemy.parentをトレースし、[Object GamePlayScreen]であると教えてくれましたが、エラーはそれがnullだと言っていますか?
これはエラーです:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at Laser1/moveUp()[C:\Dev\Projects\Gamedev\Flash\classes\Laser1.as:23]
私はすべてを試し、すべての行をトレースしましたが、まだ結果はありません...使用しても
if(Game.gameplay.contains(enemy) {
enemy.parent.removeChild(enemy);
}
再びこのエラーに遭遇し続けます...私は無知です...