声明此教程为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+aswing开发AS2程序相关推荐

  1. FlashDevelop Android开发.md

    2019独角兽企业重金招聘Python工程师标准>>> FlashDevelop Android 开发 > author: gwang(wanggangzero@qq.com) ...

  2. 使用IDEA开发Servlet程序

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

  3. 用什么服务器开发小程序,开发小程序用什么服务器系统

    开发小程序用什么服务器系统 内容精选 换一换 按照翻译方式的不同,高级语言通常可以分为两类:一类是编译翻译,一类是解释翻译,分别对应着编译型语言和解释型语言.编译型语言典型的如C.C++语言,都属于编 ...

  4. 使用NetBeans IDE开发C程序

    使用NetBeans IDE开发C程序 在windows下开发调试linux环境的代码,同时还可以拷贝到Linux环境. 其实是NetBeans可以连接到远程Linux服务器,使用其中的GNU编译环境 ...

  5. flutter开发小程序_为什么我认为Flutter是移动应用程序开发的未来

    flutter开发小程序 I dabbled a bit in Android and iOS development quite a few years back using Java and Ob ...

  6. Android开发之程序猿必需要懂得Android的重要设计理念2(5.20更新版)

    上篇文章介绍了Android开发的设计理念的一部分,并没有得到博友们的多大认可,仅仅看到了一位博友在以下留言期待下一篇文章的发表,为了这小小的唯一支持.我决定继续把后面的8个要点介绍一下,自己也潜心反 ...

  7. 用JSP+JDBC开发Web程序

    以前一直想找个纯粹的JSP+JDBC开发Web程序的架构,一直没有找到合适的,后来自己写了一个简单实现,并实施了几个项目. 此开发架构的特点是: 1.架构技术简单,只包含JSP和JDBC,不需要学习即 ...

  8. mpvue开发小程序所遇问题及h5转化方案

    项目结构 |---build|---pages.js文件目录|---src|---component子组件|---pages|---业务页面|---store,vuex储存|---utils|---请 ...

  9. 你也可以玩转Skype -- 基于Skype API开发外壳程序入门

    原文:你也可以玩转Skype -- 基于Skype API开发外壳程序入门 Skype是目前这个星球上最厉害的IM+VOIP软件,Skype现在已经改变了全球2.8亿人的生活方式.你,值得拥有! :) ...

最新文章

  1. 将Project的内容导出成单独的XPO文件
  2. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置显示均值、标准偏差)实战
  3. linux下运行gnuplot,Gnuplot Linux版下载
  4. Scala带返回值函数声明示例
  5. urllib2 python3错误?用from urllib import request来代替!
  6. 去 BAT 面试,总结了这 55 道 MySQL 面试题
  7. python颜色识别算法_纯Python编写K-means算法,提取图片中的主体颜色
  8. zabbix3.2通过snmp v2采集Dell服务器iDRAC口信息监控硬件
  9. 寻求生态保护与矿产开发平衡点 青海给出“绿色方案”
  10. EXCEl快速删除大量空白行
  11. 面对技术难题,都是硬着头皮向前冲
  12. 汉字区位码查询与算法
  13. Frank计算机基础硬件笔记
  14. ERP系统实施一般方法与步骤
  15. UTC(世界标准时间)/GMT(格林威治时间)/CST(北京时间)
  16. python spearman相关系数_常用的特征选择方法之 Spearman 秩相关系数
  17. 嵌入式linux IIO驱动
  18. PS_变量批量生产名片
  19. 在MFC对话框中使用Google地图
  20. 从0到1搭建大数据平台之监控

热门文章

  1. TensorFlow 制作自己的TFRecord数据集
  2. 四十七、磁盘调度算法
  3. 程序员接活利器,dataTable组件带你快速开发,摆脱CRUD
  4. Python基础总结(2)
  5. qu.la网站上的小说爬取
  6. jpa中使用Query判断条件查询
  7. Docker运行sonarqube-(代码质量检测平台)
  8. java反射类带构造函数_java中反射类的加载和构造函数
  9. FillMode详解
  10. hbase 修改表名_HBase学习——2.HBase原理