AS3 中的package(包)應(yīng)用實(shí)例代碼
更新時(shí)間:2008年08月05日 17:14:02 作者:
初學(xué)者在學(xué)習(xí)AS3時(shí)會(huì)遇到什么樣的問(wèn)題呢?只有從初學(xué)的角度來(lái)實(shí)踐,才能知道,package 這個(gè)高手們必玩的內(nèi)容,對(duì)初學(xué)者來(lái)說(shuō)或許就有一些困惑。
包(package)的概念在AS2中就已經(jīng)存在,它表示硬盤(pán)中的一個(gè)目錄結(jié)構(gòu),該目錄結(jié)構(gòu)是用來(lái)分類存貯各種類文件的。在AS3中這個(gè)概念仍舊可以理解為是一個(gè)路徑,或是目錄結(jié)構(gòu),包的名稱也就是你的類所在的目錄位置。
如果類文件和fla文件保存在同一個(gè)目錄位置中,那么就不需要為“包”指定一個(gè)名字。比如:我們先建立這樣一個(gè) MyMsg.as 類定義文件,文件中輸入以下的代碼:
package {
public class MyMsg {
public function showMsg () {
trace ( "I'm in the same place with fla file.");
}
}
}
然后在主場(chǎng)景中建立這個(gè)對(duì)象的實(shí)例,并對(duì)它的方法程序 showMsg進(jìn)行調(diào)用。
var msg:MyMsg = new MyMsg();
msg.showMsg();
將fla 文件與類文件保存在一起,運(yùn)行之后可以看到,輸出窗口中將輸出我們?cè)O(shè)定好的內(nèi)容。
在文件保存的位置上,我們建立一個(gè)目錄比如叫 dzxz,在它里面再建一個(gè)目錄比如叫 as3,在dzxz\as3目錄里新建一個(gè)類文件叫 MyMsg2.as,它位于一個(gè)目錄結(jié)構(gòu)中,所以需要指定它的包名稱,類代碼寫(xiě)成如下形式:
package dzxz.as3 {
public class MyMsg2 {
public function showMsg () {
trace ( "I'm in the package of dzxz.as3 !");
}
}
}
在主場(chǎng)景中若要使用包中的MyMsg2類,就必需先導(dǎo)入包,用import 語(yǔ)句,添加一行導(dǎo)入語(yǔ)句,代碼改為:
import dzxz.as3.MyMsg2;
var msg:MyMsg2 = new MyMsg2();
msg.showMsg ();
?。ㄔ跍y(cè)試時(shí)發(fā)現(xiàn),如果包中的類名和當(dāng)前目錄下的類名一至?xí)r,當(dāng)前的類文件優(yōu)先被使用,所以包中的類名改成 MyMsg2)
通過(guò)前面的例子可以發(fā)現(xiàn),包名稱是寫(xiě)在 package和{之間的,類文件的名稱MyMsag.as 是和它里面的類名稱MyMsg 保持一致的。如果使用了包名稱,就必須用目錄結(jié)構(gòu)來(lái)存放類文件,這做的好處是類多的時(shí)候不容易搞混。
如果類文件和fla文件保存在同一個(gè)目錄位置中,那么就不需要為“包”指定一個(gè)名字。比如:我們先建立這樣一個(gè) MyMsg.as 類定義文件,文件中輸入以下的代碼:
package {
public class MyMsg {
public function showMsg () {
trace ( "I'm in the same place with fla file.");
}
}
}
然后在主場(chǎng)景中建立這個(gè)對(duì)象的實(shí)例,并對(duì)它的方法程序 showMsg進(jìn)行調(diào)用。
var msg:MyMsg = new MyMsg();
msg.showMsg();
將fla 文件與類文件保存在一起,運(yùn)行之后可以看到,輸出窗口中將輸出我們?cè)O(shè)定好的內(nèi)容。
在文件保存的位置上,我們建立一個(gè)目錄比如叫 dzxz,在它里面再建一個(gè)目錄比如叫 as3,在dzxz\as3目錄里新建一個(gè)類文件叫 MyMsg2.as,它位于一個(gè)目錄結(jié)構(gòu)中,所以需要指定它的包名稱,類代碼寫(xiě)成如下形式:
package dzxz.as3 {
public class MyMsg2 {
public function showMsg () {
trace ( "I'm in the package of dzxz.as3 !");
}
}
}
在主場(chǎng)景中若要使用包中的MyMsg2類,就必需先導(dǎo)入包,用import 語(yǔ)句,添加一行導(dǎo)入語(yǔ)句,代碼改為:
import dzxz.as3.MyMsg2;
var msg:MyMsg2 = new MyMsg2();
msg.showMsg ();
?。ㄔ跍y(cè)試時(shí)發(fā)現(xiàn),如果包中的類名和當(dāng)前目錄下的類名一至?xí)r,當(dāng)前的類文件優(yōu)先被使用,所以包中的類名改成 MyMsg2)
通過(guò)前面的例子可以發(fā)現(xiàn),包名稱是寫(xiě)在 package和{之間的,類文件的名稱MyMsag.as 是和它里面的類名稱MyMsg 保持一致的。如果使用了包名稱,就必須用目錄結(jié)構(gòu)來(lái)存放類文件,這做的好處是類多的時(shí)候不容易搞混。
相關(guān)文章
ActionScript 3.0中用XMLSocket與服務(wù)器通訊程序(源碼)
一個(gè)簡(jiǎn)單的基于XMLSocket的封裝類2009-02-02
as3 rollOver or mouseOver使用說(shuō)明
rollOver與mouseOver同樣在鼠標(biāo)移到目標(biāo)上時(shí)觸發(fā)事件,細(xì)微區(qū)別在于,mouseOver的bubbles等于true,而rollOver的bubbles是false.2009-10-10
AS3 中的package(包)應(yīng)用實(shí)例代碼
初學(xué)者在學(xué)習(xí)AS3時(shí)會(huì)遇到什么樣的問(wèn)題呢?只有從初學(xué)的角度來(lái)實(shí)踐,才能知道,package 這個(gè)高手們必玩的內(nèi)容,對(duì)初學(xué)者來(lái)說(shuō)或許就有一些困惑。2008-08-08
Actionscript 3.0中Singleton實(shí)現(xiàn) 修正篇
說(shuō)明:上一篇"一個(gè)簡(jiǎn)單的Actionscript的單態(tài)模式類"的實(shí)現(xiàn)在Actionscript中報(bào)錯(cuò),具體原因會(huì)在這篇Blog中詳細(xì)說(shuō)明。2009-02-02

