正在加载...

该方法适用于所有不习惯Flex或者暂时不希望介入Flex Builder2、3开发的开发人员。转载请保留出处:用FlashCS3开发透明的AIR(Apollo)应用 – http://www.awflasher.com/blog/archives/947

【更新】开发步骤详细截图(共19张)我发布在as3blog.com了:忘记MXML,用CS3携Apollo起飞!(http://as3blog.com/as3/cs3-develop-air)

虽然我们并不使用Flex3作为开发环境,但我们需要准备Flex3和Flex3 SDK,这可以在Adobe官方找到。其缘由是,我们需要用Flex3作为AIR文件的发布工具,而Flex3 SDK,可以为我们提供一个非常重要的swc文件:airglobal.swc。我们需要采用这个ariglobal.swc的文件,替换Flash CS3安装目录中的“en\Configuration\ActionScript 3.0\Classes\playerglobal.swc”,这一步非常重要。因为我们需要让FlashCS3的编译器知道,AIR的Runtime所提供的API。否则,在FlashCS3中所有对AIR的API调用将是不能通过编译器编译,进而无法生成SWF文件的。

然后,我们回到Flex Builder3中。建立一个AIR项目,并且修改AIR项目的配置xml文件(你的AIR项目如果是MyAir那么你的AIR配置xml文件将是MyAir-app.xml),找到rootContent结点,例如我的项目叫做“awflasher”,那么在xml文件中,会有如此一段内容:

<rootContent systemChrome="none"transparent="true" visible="true">awflasher.swf</rootContent>

这其中的“awflasher.swf”就是我们通过Flash CS3编译得到的。回过头我再解释一下为什么要copy那个airglobal.swc覆盖playerglobal.swc,是因为,我们在Flash CS3中,可能会有如下的代码:

awflasher_mc.addEventListener(flash.events.MouseEvent.MOUSE_DOWN, go);function go(someEvent)
{
stage.window.startMove();
}

其中的stage.window.startMove中,无论是window对象还是startMove方法,都需要AIR的API提供支持。虽然AIR Runtime显然会提供支持,但是Flash CS3的编译器在之前的playerglobal.swc中是无法辨别这些API的。因此才需要刚才说到的那一步。

后附实际运行截图以及AIR文件如下:

效果图1:
Adobe AIR

效果图2:
Adobe AIR

AIR文件+源文件:http://aw.awflasher.com/air/awflasher.helloair.rar

还没找到您要的东西?Google试试看吧,
Google更注重原创、时效性好的文章:


本文相关评论: 才 7 条评论
  1. Richbox 2007-06-27 06:43:46

    等装了FashCS3试试

  2. 西部秋虫 2007-06-27 06:47:18

    不错!
    估计过不了多了就可以在Flash CS3中直接开发AIR了。

  3. Cat Chen 2007-06-27 07:27:33

    想学,但貌似还是很复杂的样子……

  4. zikey 2007-06-28 09:25:40

    很不错,不过在FlashGuru上面有用JSFL开发的一个命令,更加方便,可以借鉴一下。嘎嘎
    http://www.flashguru.co.uk/create-apollo-apps-in-flash-cs3/

  5. JAXIC 2007-06-29 12:49:38

    最近在玩Samorost II 银河历险记2 http://pinggao.net/sam 快疯掉了。。。。AIR。。。AIR H GAME。。。

  6. farstar 2007-06-30 10:46:02
  7. 动漫原创制造 2012-04-01 10:41:56

    很好,不错哟

[支持Ctrl+Enter]为了我们大家和家人的安全,留言请慎重!
声明:
1、本站仅与见过面的个人博客交换链接,见此文
2、留言时的头像是Gravatar提供的服务。如果您有兴趣并且有闲暇时间,可以看看这里的介绍