FlashDevelop+aswing开发AS2程序

简介: 最近在学aswing(aswing是一个开源的as UI框架,结构模仿java的swing,具体可以到(http://aswing.org/),由于我的机器配置不是太高,并且也是处于入门阶段不是搞什么大程序,所以选用了FlashDevelop作为编程环境,FlashDevelop的优点是体积小巧使用简单,在这里我针对初学者讲讲我使用FD的方法。
声明此教程为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。这样我们的项目就建好了。  
015102_1321424899.jpg  

接着我们建一个as类文件Test.as,方法是右键test项目->add->New Class 如下图  
015101_690292985_raufttia.jpg  
起名为Test,点ok后FD就会创建一个as文件,并且已经为我们写好了类名与构造函数  
在开始写代码之前还有几件事  
1、将Test类设为Always Complie,这样FD就知道要编译这个类了,右键Test.as选择Always Complie即可  
015055_1540554514.jpg  

2、设置项目属性,右键Test项目->Properties,现在Movie中设置swf的一些属性,包括输出的swf文件名、背景、帧频等,其他选项卡的设置稍后说。  
015058_1494446294.jpg  

然后我们输入代码  
代码:
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  
015104_506154715_snbettfp.jpg  

FD就会调用mtasc去编译这个类文件,很快我们就会看到一个空白的画面(因为swf画面上什么都没有。。),然后可以在下面的Output面板中看到输出的hello world  

015057_787216752.jpg  
好了,现在我们会用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,编译完成后我们就会看到一个窗口啦,哈哈  
015057_775128094.jpg  
好了,就到这里吧,大家应该会使用FD了吧,关于aswing还是需要一点点的学起来,一起努力吧。  
如果说以后是AS3的时代,AS2很快要淘汰了,那么很高兴的告诉你,据aswing的开发着iiley说,不久就会放出aswing的as3版本,大家一起期待把,哈哈  
另外,aswing是一个优秀的开源类库,不管AS2淘不淘汰,有空翻出aswing源代码来研究研究也是会学到很多东西的。  
目录
相关文章
|
6月前
|
JavaScript 前端开发 API
CocosCreator3.8研究笔记(五)CocosCreator 脚本说明及使用(下)
CocosCreator3.8研究笔记(五)CocosCreator 脚本说明及使用(下)
|
6月前
|
JSON JavaScript 前端开发
CocosCreator3.8研究笔记(四)CocosCreator 脚本说明及使用(上)
CocosCreator3.8研究笔记(四)CocosCreator 脚本说明及使用(上)
149 0
CocosCreator3.8研究笔记(四)CocosCreator 脚本说明及使用(上)
|
6月前
|
缓存 自然语言处理 BI
CocosCreator3.8研究笔记(二十)CocosCreator UI组件(四)
CocosCreator3.8研究笔记(二十)CocosCreator UI组件(四)
105 0
|
6月前
|
JavaScript 数据安全/隐私保护 Android开发
CocosCreator3.8研究笔记(十九)CocosCreator UI组件(三)(1)
CocosCreator3.8研究笔记(十九)CocosCreator UI组件(三)
103 0
|
6月前
|
前端开发 Android开发
CocosCreator3.8研究笔记(十九)CocosCreator UI组件(三)(3)
CocosCreator3.8研究笔记(十九)CocosCreator UI组件(三)
|
数据可视化 Java Android开发
JDAX-GUI 反编译工具下载使用以及相关技术介绍
反编译工具有很多种,我推荐JADX,后续有更好的反编译工具我会继续补充
454 0
JDAX-GUI 反编译工具下载使用以及相关技术介绍
|
文字识别 数据安全/隐私保护 计算机视觉
【番外篇】客户端开发(Electron)无源码如何做汉化
【番外篇】客户端开发(Electron)无源码如何做汉化
599 0
【番外篇】客户端开发(Electron)无源码如何做汉化
|
Java 开发工具 git
反编译工具深坑(jd-gui-0.35)
今天遇到一个问题,jd-gui-0.3.5 反编译jar包出现如下问题: // ERROR // public void checkAndLogin() { // Byte code: // 0: iconst_0 // 1...
2378 0
|
Web App开发 JavaScript 前端开发