自从上回发布了针对 Adobe Alchemy 介绍性的文章之后,论坛里也有一定的反响,作为技术的传播者,考虑到这个伟大的工具本身具有一定的技术门槛,使用者要同时会用C 和AS3 语言,以及 CYGWIN的相关知识,为了排除这些障碍,本章主要介绍下以下3个内容,
配置 Alchemy 的开发环境
生成 Alchemy的库文件Swc
将Swc应用到项目中去
希望能抛砖引玉,带领大家进入这一美妙的世界.
一 配置 Alchemy 的开发环境
下载 www.cygwin.cn/site/install/
到 Archive 下面去选择安装 zip 包
到 Select Package这时,需要选择以下3个东西(非常关键,默认是不安装的)
zip:Info-ZIP compression
gcc-gc++: C++ compiler
Perl Install
(如果网速很慢,中间会跳出一些安装不成功的窗口。重新装即可。如果安装少文件,在Cygwin命令行输入命令时会出错,比如:”perl” not available,”zip” not available)
到 www.java.com 去下载JAVA虚拟机
下载 Flex Sdk 3.2 版本.安装之.者直接安装 Flex Build 3
下载 Adobe Alchemy这里下载http://labs.adobe.com/wiki/index.php/Alchemy然后解压缩,这里假设解压缩到d:\\alchemy目录下(貌似必须是根目录,在帮助里偶然看到的,未验证).这个之前因为得要Cygwin知道FleSDK和Alchemy的路径,所以还要设置一点东西:
将C:/cygwin/etc 文件夹下的文件”profile”中
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:$PATH.
改成:
source /cygdrive/c/alchemy/alchemy-setup
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/alchemy/achacks:/cygdrive/c/FlexSDK/bin:$PATH
然后保存文件(注意里面的路径……c/alchemy/……)。
关键:’/cygdrive/c/’ 意思是 ‘C:/’.
6 以上这些做完之后,你可以在桌面上看到一个绿色的 Cygwin的图标,然后双击,进入命令行模式
7 这个环境中你可以使用 ls 命令查看文件夹, cd 命令进入某个目录
然后输入 cd d:/alchemy 回车
8 输入 ./config 回车 这时候你应该能看到这行提示:
Generating alchemy-setup…
Turining execution bit on for Alchemy binaries …
Add “source /cygdrive/d/alchermy/alchemy-setup” to your login script.
“alc-home” takes you to the Alchemy install folder.
“alc-on” puts Alchemy gcc toolchain replacements at the front of your path.
“alc-off” restores original path.
“alc-util” shows you various Alchemy-related environment vars
You need Flash 10 or AIR 1.5 and the Flex 3.2 SDK installed for testing.
如果你能看到这些,恭喜你,你快完成第一个步骤了,然后你要做的就是
9 输入 source /cygdrive/d/alchemy/alchemy-setup
10 输入 alc-on
Alchemy 的开发环境配置完毕!
二 生成 Alchemy的库文件Swc
配置完开发环境后,你总得干些什么,没错,直接编译其自带的sample
我推荐大家打开 sample/stringecho这个例子1 输入 cd /cygdrive/d/alchemy/sample/stringecho/ 回车2 你可以看到目录下有一个叫stringecho.c的文件.如果你打开它那么可以看到内部实现,这是一个很简单的功能,就是输入一个字符串,并且返回一个字符串.3 输入 alc-on 回车
输入gcc stringecho.c –O3 –Wall –swc –o stringecho.swc 回车,对这个C语言源文件进行编译,最终生成 stringecho.swc 库.中间一些是参数,不用去管它.
如果第4步顺利的话,你应该可以看到如下输出文字,
这时,你看下目录下面那个swc文件,应该就是你编译生成的文件!
三 将SWC文件使用到项目中去
这里主要介绍FB3的方法,FLASH方法请自行尝试.1 创建一个新的工程, ActionScript3工程或者 Flex工程都可以.2 选择项目配置,ActionScript BuildPath下面, Library path
点开Flex3.2 库下的playerglobal.swc 并且设置其中的属性 LinkType: 必须选择External,否则会出错误
旁边Add SWC 加入刚才编译出来的 stringecho.swc文件.
新建立一个AS的类,并且在开始部分写
Import cmodule.stringecho.CLibInit
如果你添加的是 其他SWC文件,那么可以将中间的部分改写成其他的即可.
使用以下代码测试一下
var test:CLibInit = new cmodule.stringecho.CLibInit; //新建立一个类
var lib:Object = test.init(); //创建执行对象
trace(lib.echo(”foo”)); //调用C语言导出的函数
注意这里 echo 是C 语言的导出信息,它在 test被init的时候自动添加function对象.这是利用了AS3语言function对象灵活的特点.一旦init完毕后,就可以使用这个函数了.
最后编译运行.应该可以在输出栏console里面看到效果.
最后,本人认为,使用 Alchemy开发,是需要在前期进行设计,将计算量大的部分,划分到 C 语言执行,而让AS3执行普通的逻辑.难度是有一些的.
分享到:
相关推荐
本文将详细介绍在Windows环境下,通过Cygwin进行Alchemy的安装步骤。 首先,我们需要安装Cygwin。Cygwin是一个提供Linux环境的软件集合,使得在Windows系统上可以运行Unix/Linux工具和程序。在安装过程中: 1. ...
Alchemy 的安装步骤如下: 1. 下载 Alchemy,并将其解压缩到 C:/alchemy 路径下。 2. 安装 Java,直接点击 next 安装即可。 3. 安装 FlexSDK,下载解压缩后重命名,放在 C:/FlexSDK 路径下。 4. 安装 Cygwin,一路...
其次,Flash与C++的交互,这主要涉及到Adobe的Alchemy项目。Alchemy是一个实验性的工具,它允许开发者将C++代码转换为ActionScript字节码,以便在Flash Player环境中运行。这样,开发者可以利用C++的高性能和丰富的...
交互过程中要注意安全性、数据类型转换和错误处理。由于C++和AS的数据类型不完全匹配,需要适当地进行转换。此外,确保正确处理可能出现的网络或内存问题。 总结,这个"C++与Flash交互例程"提供了学习如何在C++和...
1. 安装Adobe AIR SDK:这是构建AIR应用程序的基础,包含了编译和打包应用所需的工具。 2. Node.js:用于JavaScript开发和管理依赖项。 3. Git:用于版本控制。 **步骤2:初始化项目** 创建一个新的Git仓库,并...
ActionScript 3.0是Adobe Flash Platform的主要编程语言,用于创建交互式内容、游戏和动画。在本文中,我们将深入探讨如何使用ActionScript 3.0来实现一个本地播放器。 1. **ActionScript 3.0基础**: - ...
3. **编译和链接**:使用Alchemy或类似工具将C代码编译为AS3可以调用的库,Alchemy是一个开源工具,可以将C和C++代码转换为AS3代码。 4. **测试与优化**:移植后,需要在AS3环境中进行详尽的测试,确保所有功能正常...