var myButton:SimpleButton = new SimpleButton();
SimpleButton類有4個(gè)屬性分別代表按鈕的四個(gè)不同狀態(tài):upState,overState,downState和hitAreaState。你可以為每一個(gè)狀態(tài)創(chuàng)建一個(gè)新的顯示對(duì)象,然后將顯示對(duì)象賦予SimpleButton的各種狀態(tài):
myButton.upState = mySprite1;
myButton.overState = mySprite2;
myButton.downState = mySprite3;
myButton.hitAreaState = mySprite4;
15,數(shù)組定義中的逗號(hào)
本文非直接翻譯,原文解釋部分如下:
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.
先來看一個(gè)例子:
var myList:Array = [
"The",
"quick",
"brown",
"fox",
];
在AS1和2中,"fox"后的逗號(hào)會(huì)導(dǎo)致一個(gè)編譯錯(cuò)誤,但是在AS3中不會(huì)了。
注意,這個(gè)逗號(hào)只是在使用[]定義數(shù)組的時(shí)候有效,使用Array()或new Array()的時(shí)候是無效的。
16,包塊
AS3中的包定義方式和AS2中有所不同。在AS3中,包路徑不再是類定義的一部分,而是使用一個(gè)包塊來包含類。定義包塊使用的是package標(biāo)簽,如下:
package my.package.path {
class MyClass {
}
}
而在AS2中,應(yīng)該是下面的樣式:
// ActionScript 2:
class my.package.path.MyClass {
}
實(shí)際上,在AS3中,所有的類都必須定義在包里面,如果一個(gè)類不屬于任何一個(gè)包,也需要使用空的包路徑來定義:
package {
class NotInAPackageClass {
}
}
每一個(gè)包塊可以將一些有關(guān)聯(lián)的類或者方法包含在一個(gè)文件里面。文件中包塊里的類或方法必須使用和文件名相同的名稱:
package com.kirupa.utils {
function StripString(str:String):void {
// ...
}
}
上面的代碼應(yīng)該保存在一個(gè)名稱為StripString.as的文件中,并放在路徑為com/kirupa/utils的文件夾里。
新聞熱點(diǎn)
疑難解答
圖片精選