0
這是從一個小的Flash遊戲一個小片段我工作:AS3錯誤#1009(removeChild之只是不會工作?)
這一點從我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);
}
gameplay是GamePlayScreen的一個實例,在我的文檔類Game中聲明。我已經追蹤到敵人,它告訴我這是[Object GamePlayScreen],但是錯誤告訴我它是空的?
這是錯誤:
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]
我tryed一切,追蹤在每一行,仍然沒有結果......甚至當我使用
if(Game.gameplay.contains(enemy) {
enemy.parent.removeChild(enemy);
}
它繼續蹣跚此錯誤再次... 我很無能...
我不知道爲什麼,但固定它...我確實非常的追蹤敵人,enemy.parent withing同樣的事情,如果條款,他們都回來的東西比空不同。無論如何感謝! – xirb22
不客氣。 –