我試圖創建一個使每個塊中,我可以用它來輕鬆塊添加到通過XML舞臺塊陣列的系統,但是我得到AS3 - 類型錯誤:錯誤#1009
[Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference.
初始化'blockStone'時。
這裏是我的主要Block類,每個塊在這裏初始化。
package com.snakybo.platformengine.block {
import flash.display.MovieClip;
public class Block extends MovieClip {
public static var blockList:Array = [];
public static const blockStone:Block = (new BlockStone(0));
public var blockID:int;
private var mc:MovieClip;
public function Block(blockID:int, mc:MovieClip) {
if (blockList[blockID] != null) {
throw new Error("Slot " + blockID + " is already occupied by " + blockList[blockID] + " when adding " + this);
} else {
blockList[blockID] = this;
this.blockID = blockID;
this.mc = mc;
mc.x = 100;
mc.y = 100;
addChild(mc);
}
}
}
}
這裏的BlockStone類:
package com.snakybo.platformengine.block {
public class BlockStone extends Block {
public function BlockStone(blockID:int) {
super(blockID, new stone());
}
}
}
的FlashDevelop是指這條線時,它的錯誤:
public class BlockStone extends Block {
這裏的堆棧跟蹤:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at global$init()[C:\Users\Kevin\Desktop\Extra\Code\Actionscript\PlatformEngine\src\com\snakybo\platformengine\block\BlockStone.as:3]
at com.snakybo.platformengine.block::Block$cinit()
at global$init()[C:\Users\Kevin\Desktop\Extra\Code\Actionscript\PlatformEngine\src\com\snakybo\platformengine\block\Block.as:5]
at com.snakybo.platformengine::Game()[C:\Users\Kevin\Desktop\Extra\Code\Actionscript\PlatformEngine\src\com\snakybo\platformengine\Game.as:13]
at com.snakybo.platformengine::Main/init()[C:\Users\Kevin\Desktop\Extra\Code\Actionscript\PlatformEngine\src\com\snakybo\platformengine\Main.as:20]
at com.snakybo.platformengine::Main()[C:\Users\Kevin\Desktop\Extra\Code\Actionscript\PlatformEngine\src\com\snakybo\platformengine\Main.as:11]
我很確定這是一個問題AS3,因爲此方法適用於Java。對於在AS3中使用在XML文件中定義的塊ID的更好方法,我願意提供建議。
任何人都可以解釋爲什麼發生這種情況?
什麼是BlockStone.as:4 –
這就是'公共類BlockStone擴展Block {',我刪除了'/ ** @author * /'。我會編輯它 – Snakybo
讓我們驗證一下。超級評論(blockID,new stone());並且追蹤(新石頭()) –