我无法将普通的 as3 swf 定位到空中移动设备,因此我制作了一个简单的测试应用程序来检查并尝试了解问题所在。我正在使用 flashdevelop 4 和最新的 AIR sdk。
我导出了一个带有类名BlackBox的简单 MC 的 SWC 这是我的主要代码(省略了包和导入,但我什至导入了 BlackBox 类):
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的文本字段。
黑盒
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 = "changed text"行中抛出:
[Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference
提前致谢。