講解3: 類在AS3.0中也有public 和 internal的區(qū)分了。 public 表示這個(gè)類可以在任何地方導(dǎo)入使用。 internal表示這個(gè)類只能在同一個(gè)package里面使用。 不寫,就默認(rèn)為internal這個(gè)新的關(guān)鍵字。 還有一個(gè)屬性是final,表示這個(gè)類不能被繼承了,繼承樹到此為止。 說白了,這三個(gè)屬性都是用來讓我們更加規(guī)范的管理類之間的關(guān)系,以便將來修改時(shí)心里有譜,大大的方便了修改。
同時(shí),對(duì)架構(gòu)的設(shè)計(jì)能力要求更高,新手們和小項(xiàng)目還是多使用public吧。越到后來你會(huì)越喜歡internal的。我只要看到internal和private這兩個(gè)關(guān)鍵字,心中就無比的穩(wěn)定和舒服。想來不少programmer和我都會(huì)有同感吧。
2.新建一個(gè)元件,并設(shè)置它的Linkage和上面的類綁定。
和教程第一章一樣,畫一個(gè)方塊,按F8轉(zhuǎn)成MovieClip,再在庫中右鍵點(diǎn)擊它,選擇"linkage"
點(diǎn)擊看大圖
在Class里面寫上KingdaMC。注意,id輸入框已經(jīng)被廢止了。因?yàn)樵贏S3.0中,再也沒有MovieClip.attachMovie(), MovieClip.createEmptyMovieClip(), 以及 MovieClip.createTextField()的存在了。 所有舞臺(tái)的可見對(duì)象都由new來創(chuàng)建。 比如說本例中,symbol1綁定了KingdaMC,那么如果我要在舞臺(tái)上創(chuàng)建一個(gè)KingdaMC,只要寫:
var b1:Kingda = new KingdaMC(); addChild(b1);
即可。
還記得以前那些亂七八糟的創(chuàng)建影片和組件的語法嗎?什么createClassObject(),DepthManager的createChildAtDepth(),createClassChildAtDepth(),等等等等。我的一個(gè)java同事剛剛學(xué)習(xí)AS時(shí),被上面哪些亂亂的創(chuàng)建函數(shù)弄得一頭霧水。統(tǒng)統(tǒng)沒有了。只有一統(tǒng)天下的new ClassName(),多標(biāo)準(zhǔn)哪,多舒服啊,多好學(xué)啊。 所以說,沒學(xué)AS2.0直接學(xué)AS3.0絕對(duì)是新手的福氣。
第二句,addChild這個(gè)很重要。 光有第一句new可不行。那只是告訴Flash我建了一個(gè)名字叫b1的KingdaMC要顯示,但還沒告訴Flash什么時(shí)候顯示呢。 你什么時(shí)候打addChild(b1),那Flash才會(huì)把它顯示在舞臺(tái)上。怎么樣,多簡(jiǎn)單。 其實(shí)這里省略了一個(gè)this。如果你有一個(gè)MovieClip名叫BigKingda,希望在這個(gè)BigKingda里面加上一個(gè)KingdaMC實(shí)例,那么就要寫:
BigKingda.addChild(b1);
非常簡(jiǎn)單。
Ctrl+Enter測(cè)試,發(fā)現(xiàn)創(chuàng)建的KingdaMC,支持拖拽。 大家試著用代碼多創(chuàng)建幾個(gè)KingdaMC,比如用for循環(huán)來建個(gè)10個(gè)8個(gè)的來玩玩。
好了,累了,要歇歇了,下次講Document Class。
本節(jié)代碼例子參考了Jen deHaan的教程,原因很簡(jiǎn)單,她選的例子很好的說明了綁定和Document Class,黑羽做了少量的中文改動(dòng)。她原來的源碼例子點(diǎn)此下載。
ActionScript 3.0系列教程(3):Document Class特色為我們帶來了什么?
經(jīng)典論壇討論帖: http://www.95time.cn/bbs/NewsDetail.asp?id=2637098
出處:藍(lán)色理想
責(zé)任編輯:moby
上一頁 AS3.0的類及綁定 [1] 下一頁
◎進(jìn)入論壇Flash專欄版塊參加討論
|