从基础开始深入Flash AS3教程(2)(译文)
as3中有许多新的数据类型。其中有些类型是以前没有出现的。as3中的基本数据类型如下:
简单数据类型:
boolean
int
null
number
string
uint
undefined
复杂数据类型:
object
array
date
error
function
regexp
xml
xmllist
新的数据类型通过类来定义,例如: matrix (flash.geom.matrix)
shape (flash.display.shape)urlrequest (flash.net.urlrequest)
等等。
注意:
特殊类型void在as3中被改成了全小写:void。
“*”可以用来代表所有数据类型。如下:
var anything:*;
as3中的xml和as1和as2中完全不一样。以前的xml类型(对象)被定义为xmlobject。as3中的xml是标准的e4x-based xml对象。
int和uint是number类型的新扩展,int表示整型(没有小数),unit是无符号整型(不能是十进制,不能是负数)。 使用int型比使用number能稍微的提升运行效率,而uint型只应该使用在必须的地方,比如颜色值。
5,显示对象
as3有一个新的集合:显示对象。这个集合包含了所有可以在舞台上看到或者可以被添加到显示列表中的对象,包括以前的movieclip,button和textfield对象。as3的显示对象有:
avm1movie
bitmap
loader
morphshape*
movieclip
shape
simplebutton
sprite
statictext*
textfield
video
有*的表示此对象必须在舞台上手动创建,不能直接通过as创建。
avm1movie是使用as1和as2创建的movie,as3创建的movie需要通过avm2来播放。因此用as1和as2创建的movie在avm2中被作为一个显示对象来播放。但是不能和as合使用。
bitmaps是位图对象。可以通过bitmapdata对象来指定显示效果,也可以通过位图文件来设定。
loader对象用来加载和显示外部的image和swf影片文件。
morphshapes是在时间轴上创建的图形。虽然不能通过as创建,但是可以通过as来引用和控制。
movieclips人人都会用
shapes是从movieclip中分离出来一个只有graphics对象的图形容器。在shape中可以通过graphics对象使用绘图api绘制各种图形。使用shape代替movieclip可以减少内存负担。
sprite是没有时间轴的movieclip,在as3使用中,可能会在很多地方使用sprite代替movieclip,尤其在创建自定义的显示组件时。
statictext和morphshapes一样,不能通过as创建,这是在时间轴上创建的文本对象。
textfield,文本对象。
video对象,播放flash视频。
6,新的import标识
as3中的import标识和as2中有一些不同。在as2中,import被用来代理引用类的长名称,在类中并不是必须的。因此在as2中,如果你不使用import,你也可以使用类的长名称来引用,例如:
// actionscript 2
var mypoint:flash.geom.point = new flash.geom.point(0,0);
在as3中,import标识是访问类的必须标识。在使用到其他类的时候,也可以使用类的长名称,但是import不能省略掉。例如:
// actionscript 3
import flash.geom.point;
var mypoint:flash.geom.point = new flash.geom.point(0,0);
和as2一样,import中可以使用通配符(*)来导入整个包:
import flash.geom.*;