Pure Actionscript 3 Adob​​e Air Application主类构造函数未被调用

时间:2010-02-08 14:39:45

标签: actionscript-3 actionscript air

我正在编写Air应用程序,仅使用Actionscript和Flex3 SDK作为编译器。一切都在adl下编译并运行良好,但是当构建并安装最终的air文件时,主类永远不会被初始化。例如:

package {
    import flash.display.Sprite;
    public class main extends Sprite {
        public function main() {
            trace("Init");
        }
    }
}

在ADL下运行时,“Init”将输出到控制台,但是在安装和运行时,没有任何反应(类main的构造函数永远不会被调用)。

2 个答案:

答案 0 :(得分:1)

最终的空气文件在发布播放器中运行,不会发送任何痕迹。这就是为什么你没有得到任何东西。

答案 1 :(得分:1)

这是最简单的方法:

1)文件 - 新建 - Flex项目

2)为该测试项目命名为AIRActionScrip,并选择AIR作为应用程序类型。

3)点击“下一步”两次。

4)在“主应用程序文件:”文本输入中,将主应用程序文件扩展名从.mxml更改为.as。

5)单击“完成”,您在ActionScript中有一个AIR应用程序。

6)按如下方式编辑类定义:

 package {
      import flash.desktop.NativeApplication;
  import flash.display.NativeWindow;
  import flash.display.NativeWindowInitOptions;
  import flash.display.Sprite;
  import flash.display.StageAlign;
  import flash.display.StageScaleMode;
  import flash.events.Event;
  public class AIRActionScript extends Sprite
  {
    public function AIRActionScript()
    {
      var win:NativeWindow =
        new NativeWindow(new NativeWindowInitOptions());
      win.activate();
      win.addEventListener(Event.CLOSE, function():void {
        NativeApplication.nativeApplication.exit(0);
      });

      win.stage.addChild(this);

      stage.scaleMode = StageScaleMode.NO_SCALE;
      stage.align = StageAlign.TOP_LEFT;

      graphics.lineStyle(1, 0, 1);
      graphics.drawCircle(100, 100, 80);
    }
  }
}