FlashDevelop+aswing开发AS2程序
本文作者:harryxu
文章出处:webstudio.com.cn
文章性质:原创
阅读次数:6250
发布时间:2006-12-23
声明此教程为webstudio forum版主harryxu所作,转载请注明出处,harryxu的blog
最近在学aswing(aswing是一个开源的as UI框架,结构模仿java的swing,具体可以到(http://aswing.org/),由于我的机器配置不是太高,并且也是处于入门阶段不是搞什么大程序,所以选用了FlashDevelop作为编程环境,FlashDevelop的优点是体积小巧使用简单,在这里我针对初学者讲讲我使用FD的方法。
mtasc
mtasc是一个开源的actionscript编译器,它可以吧as文件编译成swf,然而mtasc与mmc(macromedia flash官方的编译器)有些区别(具体不同请看这里),所以造成了依照mtasc规则写的程序可能与mmc不兼容。
使用mtasc有很多好处
他速度快可以在很短的时间里编译大量的as类文件,开源免费,更适合开发人员(对于一个纯开发的人员,似乎不需要用到时间轴吧),等等
为什么要使用aswing?
由于使用mtasc编译,没有像flashIDE中可以方便的用画图工具绘制自己的界面,而如果自己用绘图库写界面也太累了
aswing能让我们快速的构建用户界面,使用aswing就可以在脱离flashIDE的情况下快速的开发出强大的用户界面(比flash自带的v2组件要强很多)。
再说一下为什么要使用用FlashDevelop(下面简称为FD)
其实使用aswing并不一定要使用FD,不过aswing必须使用mtasc编译。
有一个更好的开发环境那就是 Eclipse+ASDT/FDT+MTASC+Flashout,这是个基于Eclipse的开发环境,非常强大,不过由于需要一些配置过程(配置方法可以参考这里),并且Eclipse占用的系统资源要比FlashDevelop大。
而FD已经集成了mtasc下载安装即可,无需另外配置,当然功能肯定没有Eclipse来的强大,但是作为一般的学习使用还是挺适合的,关键是小巧速度快。
下面就开始说具体的使用方法
首先下载安装FlashDevelop,最新版本注意安装FD需要有.net运行环境
下载aswing,将org这个文件夹放到你专放as类库的文件夹中,比如我方的地方是 K:\actionscript\(记住这个路径哦,后面还要用到)
启动FD,我们先创建一个项目 test
点击 Project->New Project->选择Empty Project,下面是Project Name就填test好了,然后选择一个路径来存放你的项目,可以选中Create directory for project来让FD为我们建一个目录,然后点OK。这样我们的项目就建好了。
接着我们建一个as类文件Test.as,方法是右键test项目->add->New Class 如下图
起名为Test,点ok后FD就会创建一个as文件,并且已经为我们写好了类名与构造函数
在开始写代码之前还有几件事
1、将Test类设为Always Complie,这样FD就知道要编译这个类了,右键Test.as选择Always Complie即可
2、设置项目属性,右键Test项目->Properties,现在Movie中设置swf的一些属性,包括输出的swf文件名、背景、帧频等,其他选项卡的设置稍后说。
然后我们输入代码
代码: |
|
class Test { function Test() { trace("hello world"); } public static function main() { var test:Test = new Test(); } }
|
|
这是个最简单的输出hello world的类,一般用mtasc编译的,使用一个public static function main()函数作为程序入口,也就是说一运行就会调用这个静态main方法,在main方法中我们创建了一个新的Test类的实例test,test被创建后,构造函数里就会输出hello world
右键test项目->Test Movie
FD就会调用mtasc去编译这个类文件,很快我们就会看到一个空白的画面(因为swf画面上什么都没有。。),然后可以在下面的Output面板中看到输出的hello world
好了,现在我们会用FD了,接下来演示一个简单的aswing程序,关于aswing,我也是一个初学者,不能提供很好的教程,代码只能稍微说一下,无法详细解释,大家可以到aswing的官方网站上看教程和API文档
类路径: 首先我们要将我们放类库的目录添加到类路径中,还记得我把aswing放在哪里了么? 是 K:\actionscript
右键Test项目->Properties点击Classpaths选项卡,点击Add Classpath 将 K:\actionscript添加进去
当然也可以添加一个全局的类路径,使任何项目都能使用 , 在 Tools->Global Classaths中添加
现在将我们的Test类中的代码改成如下代码
代码: |
|
import org.aswing.JFrame; // 导入JFrame类
class Test extends JFrame // Test类继承JFrame { /** * 构造函数 * @param title 窗口标题 */ function Test(title:String) { super(title); // 调用直接父类(JFrame)的构造函数 this.setSize(200, 200); // 设置窗口大小为 200*200 this.setLocation(100, 100) // 设置坐标为 100,100 } public static function main() { Stage.scaleMode = "noScale"; // 设置swf内容不可缩放 var test:Test = new Test("JFrame test"); // 建立一个Test类的对象test test.show(); // 显示窗口 (show为JFrame中的方法,现在Test类继承了JFrame,自然也有这个方法了) } }
|
|
这里我建立了一个Test类继承JFrame来演示,JFrame是aswing中的一个窗体组件,我写了注释,具体使用方法去看官方API文档吧。
写完后Test Movie,编译完成后我们就会看到一个窗口啦,哈哈
好了,就到这里吧,大家应该会使用FD了吧,关于aswing还是需要一点点的学起来,一起努力吧。
如果说以后是AS3的时代,AS2很快要淘汰了,那么很高兴的告诉你,据aswing的开发着iiley说,不久就会放出aswing的as3版本,大家一起期待把,哈哈
另外,aswing是一个优秀的开源类库,不管AS2淘不淘汰,有空翻出aswing源代码来研究研究也是会学到很多东西的。
相关链接: FlashDevelop:
http://www.flashdevelop.org/ FlashDevelop最新版下载:
http://www.flashdevelop.org/downloa...2.0.2-Final.exe aswing:
http://www.aswing.org/ mtasc:
http://www.mtasc.org/