Ascriptaction,是adobe的编程语言,在2010年4月的开发语言排行榜上较3月份晋升2位,已高举19位了,现在通常都称之为as3。as3是flash、flex和air等开发复杂应用的基石,因此不管是搞flash、air还是当前颇为流行的flex,都必须熟练掌握as3。本文命名为“actionscript快速学习指南”,稍显托大,却是衷心希望能助初学者快速掌握as3。
我学习as3是因为公司要用flex进行web应用开发,没办法才学习的,可能是java、js、donet等开发语言的弟子,花了2天左右的时间,应该说基本上掌握了as3,我的学习方法大致如下。
1、 大致了解as3
这个很简单,不懂就找谷歌嘛,搜索“actionscript 简介”,还真能查找不少actionscript 简介,选择其中几篇一览,基本上知道actionscript是干嘛的。比如:as的发展历史,as的特点,as的编程元素,as和java、js的比较等等。
http://xz8.2000y.net/mb/2/ReadNews.asp?NewsID=341059, ActionScript简介
http://www.itqun.net/content-detail/110913.html,Java5和ActionScript3的语法比较
2、 下载flashbuilder4(flex4),安装之,网上找个helloworld程序先体检一下
helloworld程序真是好呀,不管是哪门编程语言都有其立足之地。这里不管弹出个alert对话框还是trace(“hello world”)写好,只要你能看到helloworld信息即可。支持,应该说对如何新建flex项目、flex应用、编译、程序运行已经基本了解,如果强点的话可以设置个断点进行调试了,如果再强点的话把”hello world”用字符串变量来替代,你就会用as3的String了,如果再强点把”hello world”放到一个函数(function)里去处理,你就会用as3的function了,如果再强点。。。
3、 了解as3的基本变量类型
学习任何一门语言都应该熟知该语言有哪些基本类型,有哪些复合类型,你总不会想到在java里去定义一个指针变量吧。
简单类型:
* Boolean, 逻辑类型,true or false
* int,整型
* null,
* Number,数值型(诸如其它语言的float, double, bigdecimal等都是Number)
* String,字符串
* uint,无符号整型
* undefined,未定义的变量
复合类型:
* Object,通用对象
* Array,数组
* Date,日期
* Error,异常
* Function,函数
* XML,xml
。。。
基本上能掌握上述13种常用变量类型,就可以写比较复杂的as程序了。可能一下子不能熟记这些类型,这个不是问题,只要使用过程中有印象即可,真不会用可以查“actionscript权威指南”、“actionscript cook book”等书籍。
当然了解常用变量类型就得使用它们,包括3个层次:
1) 知道变量如何定义,var 变量名:变量类型,不怕大家笑话我现在还经常写成“变量类型 变量名”这种java、donet的变量定义方式;
2) 变量赋值,初始化问题;
3) 变量的常用操作:如变量比较、数组排序、xml操作、String查找等。
对于object、array、function、xml要花大量时间去重点掌握,如object要理解其本质是一个dynamic class,因此可以通过点运算新增属性等;array的自定义排序其本质就是function对象通过call和apply进行自身调用;xml的节点增、删、查操作更是需要熟悉。
4、 了解运算符
运算符有算术运算符、逻辑运算符、位运算符等,as3运算符与java、js等语言并无二样,因此只要以前用其它语言写过程序的,这个瞟它个几分钟即可。
5、 控制流
控制流通常来说就3中:顺序流、分支流和循环流,关于as3的控制流强调2个地方,大家需关注此2处:
1) 分支流的switch case,支持string操作,这个用起来很爽,个人感觉比java只支持数值爽多了;
2) 循环流的for in,其它语言没看到过,可以很轻松的遍历object的每个元素。
6、 function的创建、调用
在变量类型中已经提到function(强调的是function对象),此处强调的是程序模块,大家应会创建一个function、并会调用,强点的话写个遍历函数玩玩(往后的tree操作等非常有用),再强点的话写个参数为function对象的function(类似: private function callByFunction(fun:Function):*{})调用看看,如果这都没问题的话,你只要定义这一个函数就可以高喊我程序写完了(剩下的工作就是A调B、B调C的问题,让别人去写好了,呵呵开玩笑的)
7、 class的创建、使用
至此,我们对as3应该已经有了很好的认识,接下去做的事情就是,把上述工作用class封装起来即可。这个工作对于熟悉java的人就很简单了,定义一个package、写个构造函数、定义几个变量、写几个function,如果复杂点的话就去继承别人或者实现接口或者override某个function。这里要强调的是as3的class有属性的概念,有别于java,如有个value,可通过下述实现:
private var _value:Number;
public function get value():Number
{
return _value;
}
public function set value(value:Number):void
{
_value = value;
}
8、 书籍、练习、项目的实战提升
至此,对于asc3基本上已了解其大概了,接下来就可以通过书籍(个人认为”actionscript 权威指南”和”actionscript cookbook”不错)、书中练习、网上论坛或者项目去提升自己,去融会贯通自己所学了。