我无法将普通的as3 swf定位到空中移动设备,因此我制作了一个简单的测试应用程序来检查并尝试了解哪个是问题所在。 我正在使用flashdevelop 4和最新的AIR sdk。
我导出了一个带有类名为 BlackBox 的简单MC导出的SWC 这是我的主要代码(包括和导入ommited但我甚至导入了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 的文本字段。
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
提前致谢。
答案 0 :(得分:0)
你忘了做:addChild(miTextTo); ?