1
我在將普通as3 swf定位到空中移動設備時遇到問題,因此我製作了一個簡單的測試應用程序來檢查並嘗試瞭解問題所在。 我正在使用flashdevelop 4和最新的AIR sdk。AIR Mobile:無法加載外部課程
我導出的SWC用一個簡單的MC與類名黑匣子出口 這裏是我的主代碼(包進口中省略,但我連進口的黑盒類):
public class Main extends Sprite
{
public var cajaNegra:MovieClip
public function Main():void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.DEACTIVATE, deactivate);
// touch or gesture?
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
// entry point
cajaNegra = new BlackBox();
addChild(cajaNegra)
cajaNegra.x = stage.stageWidth/2
cajaNegra.y = stage.stageHeight/2
}
}
一切正常,因爲它應該,但是當我在src文件夾中創建自定義BlackBox.as時,應用程序不顯示任何內容。我添加了一個名爲miTexto的文本字段。
BlackBox.as
public class BlackBox extends MovieClip
{
public var miTexto:TextField
public function BlackBox()
{
super();
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
miTexto.text = "changed text"
}
}
在這種情況下,調試器在線路miTexto.text = 「改變文本」拋出:
[Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference
預先感謝。
我在Flash裏面BlackBox裏手動創建了它。 – dsurka
好的,我也注意到你還沒有做miTexto = new TextField(); –
嘗試過。如果我把它放在flash中,我必須做一個新的TextField()嗎?它不會用默認的替換它嗎? – dsurka