守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 1033|回复: 0

[基础入门] Adobe Alchemy Hello world

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    51782
    钢镚
    1422

    开源英雄守望者

    发表于 2015-4-7 10:22:44 | 显示全部楼层 |阅读模式
    首先,如果不知道Adobe Alchemy是什么的话,可以参考看一下RIAMeeting的往期周刊。 这里对Alchemy做一下简单的回顾。 Alchemy是Adobe的一个实验项目,其目的是可以让C,C++的源代码编译成能够运行在开源的Adobe Actionscript VM2虚拟机上的技术。这项技术的目的是为了让大家可以利用数量众多的C,C++现成代码。
    这里介绍的是Adobe Alchemy的入门知识。
    使用Adobe Alchemy主要是使用C,C++源码编译成SWC的Flash 库文件。 在FlashCS4或者Flex中使用这些库文件。
    首先,我们需要设置好Adobe Alchemy,你可以在[url=http://labs.adobe.com/wiki/index.php/Alchemyocumentation:Getting_Started]Adobe Lab[/url] 上面找到Adobe Alchemy,安装并且设置好。
    InsideRIA也有一篇文章是关于Adobe Alchemy的,可以在这里找到
    设置完成后,这里给出一段C写的示例代码
    一些代码解释:

    • 首先 AS3_Val 是Alchemy用来表示AS3中数据类型的 所有对Actionscript可见的方法,其返回值变量都需要被表示AS3_Val
    • main()函数中的第一行的作用是将用在Actionscript中的方法先声明为AS3_Function实例。
    • 下一步(代码14行)是创建一个AS3_Object,它将承载所有声明为AS3_Function的方法。在这个例子里,就只有cMethod这一个方法。
    • 通过调用AS3_Release来释放不需要的AS3方法。
    • 最后,通知AS3虚拟机库已经被AS3_LibInit初始化好了,将承载了所有的As3方法引用的对象result传递给Actionscript代码。注意,这一步应该在最后调用。

    代码编写好之后,我们就可以开始编译了。
    打开cygwin(编者注:cygwin是一个可以让你在windows上执行Linux下命令的工具,从某种角度说,可以认为是一种虚拟的Linux环境。其执行效率要比在Linux上执行速度要慢。)
    通过命令
    alc-on
    打开Alchemy,然后运行命令
    gcc helloWorld.c -O3 -Wall -swc -o helloworld.swc
    这样,就可以生成一个SWC库文件。
    到这里,大家看到,我们已经生成了一个可以供Flex或者FlashCS4调用的SWC库文件。
    具体如何在Flex Builder中或者FlashCS4中使用这个标准的库文件,大家应该已经知道了,如果感兴趣,可以看一下原文。

    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2019-11-13 10:28 , Processed in 0.044886 second(s), 37 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表