Adobe Alchemy Hello world

 

Adobe Alchemy Hello world

原文地址:http://pradeek.blogspot.com/2009/06/getting-started-with-alchemy-hello.html

首先,如果不知道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,你可以在Adobe Lab 上面找到Adobe Alchemy,安装并且设置好。
InsideRIA也有一篇文章是关于Adobe Alchemy的,可以在这里找到

设置完成后,这里给出一段C写的示例代码

一些代码解释:

  1. 首先 AS3_Val 是Alchemy用来表示AS3中数据类型的 所有对Actionscript可见的方法,其返回值变量都需要被表示AS3_Val
  2. main()函数中的第一行的作用是将用在Actionscript中的方法先声明为AS3_Function实例。
  3. 下一步(代码14行)是创建一个AS3_Object,它将承载所有声明为AS3_Function的方法。在这个例子里,就只有cMethod这一个方法。
  4. 通过调用AS3_Release来释放不需要的AS3方法。
  5. 最后,通知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中使用这个标准的库文件,大家应该已经知道了,如果感兴趣,可以看一下原文。

posted @ 2011-11-04 22:27  Lunaa  阅读(96)  评论(0编辑  收藏  举报