1

我无法将普通的 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

提前致谢。

4

1 回答 1

0

你忘了做吗:addChild(miTextTo); ?

于 2012-06-17T22:36:10.820 回答