Alchemy简单入门教程(FlashCS4环境)

Alchemy简单入门教程(FlashCS4环境),第1张

概述       我学习Alchemy是被客户逼的,客户的AIR项目中涉及到大量的数值计算,以至于用AS3写出来后没法运行:长时间不响应。后来将这段计算量大的代码用VB写了,用swf调exe才算结束。但设置有些不便,客户吹毛求疵。不得不寻找新的解决方法。感谢QQ群里的一些达人,我开始关注并了解 Alchemy,最后解决了这个棘手的问题。对于Alchemy我知道也不多,大概了解他可以将C/C++的编码给        我学习Alchemy是被客户逼的,客户的AIR项目中涉及到大量的数值计算,以至于用AS3写出来后没法运行:长时间不响应。后来将这段计算量大的代码用VB写了,用swf调exe才算结束。但设置有些不便,客户吹毛求疵。不得不寻找新的解决方法。感谢QQ群里的一些达人,我开始关注并了解 Alchemy,最后解决了这个棘手的问题。对于Alchemy我知道也不多,大概了解他可以将C/C++的编码给AS3调用,提高AS3的效率,具体的解释可以参考官方的定义。下面我以一个简单的例子,讲述Alchemy的简单用法。不一定很精彩,有些地方是我个人不明真相的理解,或许压根就不对,但如果你想了解Alchemy,建议你读下去,总会有些收获的。同时,一并希望有人能指点一二。如果我前几天能看到这篇教程,就不会走许多弯路了。基本上,该遇到的麻烦,我都遇到了。

@H_301_10@目的: 用Alchemy和Actionscript3计算从1累加到N的值。(N越大,越能比较出速度的快慢)
工具: Alchemy,Cygwin,Flexsdk,Java(JRE),FlashCS4. (可能用到:Dev-C++,AirsDK1.5)
步骤:
1、下载
下载之前,说一下这几个软件的关系,便于理解。看图,就是我的理解。
Alchemy下载页面( 点此直接下载文件 ):  http://labs.adobe.com/downloads/alchemy.html
Java(JRE)下载页面: http://java.sun.com/javase/downloads/index.jsp
Flexsdk下载地址( ): http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3
Cygwin下载页面( ): http://www.cygwin.cn/site/install/
注:
a、Flexsdk要求是3.2或以上版本。如果安装了Flex,可以在安装文件夹里面找,不用下载。
b、到java下载页面试了一晚上,发现没法下载,不知道是不是我的网络问题……备用地址: http://down.tech.sina.com.cn/page/13444.html
c、Cygwin下载的文件只是一个下载器,可以根据下载页面给的提示进行下载。具体请看下一步:安装。
2、安装
      为便于测试方便,把这些软件都安装到了C盘根目录下。
      a、Alchemy,下载解压缩后,放在C:/alchemy 路径下。
      b、Java,这个直接点击,一路next安装就可以了。
      c、Flexsdk,下载解压缩后重命名,放在C:/Flexsdk路径下。
      d、Cygwin,一路默认next,到“Select Package”那个界面时,会有一个列表,需要选择如下三个包:
         @H_301_10@ Archive -> zip
 Devel   -> gcc-g++ 
 Perl
        再然后,一路默认next。最后桌面上会有一个“Cygwin”的快捷方式。
       (如果网速很慢,中间会跳出一些安装不成功的窗口。重新装即可。如果安装少文件,在Cygwin命令行输入命令时会出错,比如:"perl" not available,"zip" not available)
     注:因为得要Cygwin知道FleSDK和Alchemy的路径,所以还要设置一点东西:
     将C:/cygwin/etc 文件夹下的文件"profile"中
                @H_301_10@  PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:$PATH.
                改成:
                 @H_301_10@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/……)。
3、转换
   再然后的步骤,就可以将*.c转换成*.swc了。以Alchemy自带的例子举例:C:/alchemy/samples/stringecho
  
a、点击桌面上的“Cygwin”快捷方式,开启Cygwin命令窗口。
b、进入alchemy目录,开启alchemy,根据提示命令如下:
        @H_301_10@cd C:/alchemy
      ./config
      source /cygdrive/c/alchemy/alchemy-setup
      alc-on 
c、进入stringecho,并编译c到swc,命令如下:
       @H_301_10@cd samples/stringecho
     gcc stringecho.c -O3 -Wall -swc -o stringecho.swc  一会,就会在相同目录下多出一个swc文件了。
4、应用
   接下来,就是用FlashCS4来应用这个编译好的stringecho.swc了。
   a、新建一个Flashcs4文件,把stringecho.swc添加到库路径中:
     并在发布设置里面的发布成swc里打勾(必须,否则出错,原因未知):
     第一帧加代码:
import cmodule.stringecho.ClibInit
var test:ClibInit = new cmodule.stringecho.ClibInit;
var lib:Object = test.init();
trace(lib.echo("foo"));     
ctrl+enter测试,如果trace出foo,说明测试成功。
注:如果要发布成air,则需要air的版本是1.5版。否则出错。(比如提示:"1046:Type was not found or was not a compile-time constant:Vector.")
5、例子
上面基本上把整个流程过了一遍,现在开始累加1到N的例子了。C我不大懂,直接根据“stringecho”这个例子的代码照葫芦画瓢整的(源码中的文件:sum.c)。
   在编辑sum.c这个文件的时候,需要编译运行该文件,以便测试效果,所以还可能需要用C编译器。我用的软件是:Dev-C++( 这里是下载地址 )。但是最后的sum.c用到了as的库(#include "AS3.h"),所以不能完全用Dev-C++来测试。好在用Cygwin编译c到swc的时候,如果编译出错,会有提示。
    c和fla里面的代码就不再啰嗦了,源文件附上。如果还是闹不清,可以多想一下那个厨师做糖醋里脊的例子,对比一下各个软件的关系。
6、感谢
      多谢闪无忧QQ群里的星光,汪汪和牛牛猪。如果不是他们在群里谈论Alchemy和发截图,我是不会想到要用这个方法来解决项目中的问题的。当然,还要感谢那个吹毛求疵的客户。
    本文主要参考了如下两篇文章,表示感谢:
     http://www.insideria.com/2009/04/setting-up-adobe-alchemy.html
     http://bbs.actionscript3.cn/thread-20233-1-1.html

[ 本帖最后由 acumagic 于 2009-6-21 02:20 编辑 ]


转自 http://bbs.blueidea.com/thread-2934831-1-1.html

总结

以上是内存溢出为你收集整理的Alchemy简单入门教程(FlashCS4环境)全部内容,希望文章能够帮你解决Alchemy简单入门教程(FlashCS4环境)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1284390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存