牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

FlashDevelop+aswing开发AS2程序

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/ 

posted on 2010-11-02 01:49 杨粼波 阅读(1533) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理