从基础开始深入学Flash AS3教程(6)(译文)
as3现在有一个新的类:simplebutton(flash.display.simplebutton)。这个类允许你通过as创建一个按钮。
var mybutton:simplebutton = new simplebutton();
simplebutton类有4个属性分别代表按钮的四个不同状态:upstate,overstate,downstate和hitareastate。你可以为每一个状态创建一个新的显示对象,然后将显示对象赋予simplebutton的各种状态:
mybutton.upstate = mysprite1;
mybutton.overstate = mysprite2;
mybutton.downstate = mysprite3;
mybutton.hitareastate = mysprite4;
15,数组定义中的逗号
本文非直接翻译,原文解释部分如下:
when defining arrays in actionscript 3 using the shorthand array access operator (brackets), you can now have a trailing comma following the last element without causing an error (like in php). this makes working with multi-line array definitions a little less error-prone when rearranging elements.
先来看一个例子:
var mylist:array = [
"the",
"quick",
"brown",
"fox",
];
在as1和2中,"fox"后的逗号会导致一个编译错误,但是在as3中不会了。
注意,这个逗号只是在使用[]定义数组的时候有效,使用array()或new array()的时候是无效的。
16,包块
as3中的包定义方式和as2中有所不同。在as3中,包路径不再是类定义的一部分,而是使用一个包块来包含类。定义包块使用的是package标签,如下:
package my.package.path {
class myclass {
}
}
而在as2中,应该是下面的样式:
// actionscript 2:
class my.package.path.myclass {
}
实际上,在as3中,所有的类都必须定义在包里面,如果一个类不属于任何一个包,也需要使用空的包路径来定义:
package {
class notinapackageclass {
}
}
每一个包块可以将一些有关联的类或者方法包含在一个文件里面。文件中包块里的类或方法必须使用和文件名相同的名称:
package com.kirupa.utils {
function stripstring(str:string):void {
// ...
}
}
上面的代码应该保存在一个名称为stripstring.as的文件中,并放在路径为com/kirupa/utils的文件夹里。