天才教育網(wǎng)合作機(jī)構(gòu) > 培訓(xùn)機(jī)構(gòu) >

東莞設(shè)計(jì)培訓(xùn)網(wǎng)

歡迎您!
朋友圈

全國(guó)統(tǒng)一學(xué)習(xí)專(zhuān)線(xiàn) 9:00-21:00

位置:培訓(xùn)資訊 > 使用數(shù)據(jù)綁定和手工訪(fǎng)問(wèn)變量的對(duì)比

使用數(shù)據(jù)綁定和手工訪(fǎng)問(wèn)變量的對(duì)比

日期:2005-12-23 00:00:00     瀏覽:182    來(lái)源:東莞設(shè)計(jì)培訓(xùn)網(wǎng)
先看要解決的一個(gè)問(wèn)題,多個(gè)文本框,一個(gè)是輸入框,輸入了數(shù)據(jù),其他的要用不同的格式顯示。這個(gè)是在“記分 文本”的帖子里邊后來(lái)被提出來(lái)的。得到了兩個(gè)解決辦法。

一個(gè)是在onEnterFrame里邊查輸入的變化,一個(gè)是在onChanged里邊。

我要叫他手工的訪(fǎng)問(wèn)變量,因?yàn)槟菢邮侵苯拥陌褜?duì)一個(gè)和本實(shí)例不相關(guān)的變量寫(xiě)道了這個(gè)實(shí)例的事件函數(shù)里邊。

事件處理函數(shù)非常寶貴,所以有多少處理也都要順序的寫(xiě)在同一個(gè)函數(shù)里。我沒(méi)有經(jīng)驗(yàn),不知道實(shí)際會(huì)不會(huì)出現(xiàn)很多處理共用一個(gè)事件的情況,但是不妨假定這是可能的。

然后,就像上邊的粗體,和本實(shí)例不相關(guān)卻寫(xiě)到這個(gè)實(shí)例的方法,這是很不符合OO思想的,一般叫他緊密的耦合,沒(méi)有移植性。

所以選擇數(shù)據(jù)綁定技術(shù),XML產(chǎn)生后一直很熱門(mén)的。

綁定么,多個(gè)字段(不好就理解是變量吧)的信息是彼此通信的。就是你變了我也變,我們的數(shù)據(jù)總是保持某種程度的一致。

在Flash里使用我還是*次,菜了點(diǎn)。多參考幫助吧。要使用數(shù)據(jù)綁定類(lèi),必須有可以被綁定的實(shí)例。可以被綁定的實(shí)例要包含至少一個(gè)EndPoint。所以只能使用UI Component 的TextInput什么的而不是TextField。

拖放了三個(gè)到面板,起名為input ,formatOut, normalOut。然后component inspector面板里添加input--->formatOut 和input--->normalOut的綁定,默認(rèn)的被綁定的字段(這里是屬性)就是text,就不改了。
screen.width-333)this.width=screen.width-333" border=0>
添加了綁定后要編輯下綁定的屬性(是property不是attribute不要誤會(huì)),

direction是數(shù)據(jù)方向選擇out就是說(shuō)當(dāng)前的是源,數(shù)據(jù)是由當(dāng)前的EndPoint決定。個(gè)人看法:不管怎樣都不要選擇in/out 確有必要寧可綁定兩次。
bound to 是要綁定的實(shí)例,如圖
screen.width-333)this.width=screen.width-333" border=0>

然后看看formatter吧,這個(gè)簡(jiǎn)單的例子能顯示數(shù)據(jù)綁定優(yōu)越的在這了。它允許你選擇一個(gè)格式化數(shù)據(jù)的方法,上面說(shuō)“保持某種程度的一致”而不是嚴(yán)格一致就是因?yàn)橛羞@個(gè)formatter。

常用的是CustomFormatter,一個(gè)繼承mx.data.binding.CustomFormatter的類(lèi)(其實(shí)只要有format和unformat方法就行^^|||)然后那個(gè)format方法就可以用“記分 文本”的帖子里邊super-tomato的addComma了。

數(shù)據(jù)綁定類(lèi)對(duì)幾個(gè)TextInput來(lái)說(shuō)是第三方的,靈活性很大,我的格式化方法改了,那幾個(gè)文本框不用改就可以用。

點(diǎn)這里下載源文件

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: