未經(jīng)作者jinni同意,嚴(yán)禁轉(zhuǎn)載!
1.Array.sort()和Arrat.sortOn() 現(xiàn)在這兩個(gè)方法允許你增加參數(shù)來(lái)制定額外的排序規(guī)則,比如升序排列,降序排列,是否考慮大小寫(xiě)等等。 而Flash MX中只能夠按照升序排列,并且是按照先大寫(xiě)后小寫(xiě)的順序的。 例:
my_array=new Array(); my_array.push({Name:"jinni",Age:20}); my_array.push({Name:"Sucy",Age:22}); my_array.push({Name:"alien",Age:20}); my_array.push({Name:"jinni_Alien",Age:9});
for(i=0;i<4;i++) for (temp in my_array[i]) trace(my_array[i][temp]); trace("\n"); //以下四種任選其一進(jìn)行測(cè)試
//普通,只提供一個(gè)字段,按升序,先大寫(xiě)后小寫(xiě)排序 my_array.sortOn("Age");
for(i=0;i<4;i++) for (temp in my_array[i]) trace(my_array[i][temp]); trace("\n"); //提供字段列表,先按前一個(gè)字段排序,如果第一個(gè)字段值相同的項(xiàng)存在 //按照第二個(gè)字段進(jìn)行子排序,以此類(lèi)推,規(guī)則同前 my_array.sortOn(["Age","Name"]);
for(i=0;i<4;i++) for (temp in my_array[i]) trace(my_array[i][temp]); trace("\n"); //提供字段和排序規(guī)則,排序規(guī)則的內(nèi)容如下: //1 或者 Array.CASEINSENSITIVE 忽略大小寫(xiě) //2 或者 Array.DESCENDING 降序排列 //4 或者 Array.UNIQUE 如果數(shù)組中含有排序字段值相同的項(xiàng), // 則該方法返回0,且不改變?cè)瓟?shù)組 //8 或者 Array.RETURNINDEXEDARRAY 不改變?cè)瓟?shù)組,而返回更改后的數(shù)組 //16 或者 Array.NUMERIC 按照數(shù)字大小,換句話說(shuō),2不會(huì)排在1X的后面 //可以同時(shí)使用多種規(guī)則,可以用|連接多個(gè)規(guī)則,例如sortOn("name",1|2) //也可以寫(xiě)他們的和,比如想同時(shí)使用規(guī)則2,16,可以寫(xiě)sortOn("age",18) my_array.sortOn("Name",3);
for(i=0;i<4;i++) for (temp in my_array[i]) trace(my_array[i][temp]); trace("\n"); //提供字段列表和排序規(guī)則,就是第二類(lèi)和第三類(lèi)的綜合 myArray.sortOn(["Age","Name"],16);
for(i=0;i<4;i++) for (temp in my_array[i]) trace(my_array[i][temp]); trace("\n");
2.onMouseWheel 對(duì)Mouse()對(duì)象增加了onMouseWheel事件,用來(lái)監(jiān)測(cè)鼠標(biāo)滑輪事件 需要放到偵聽(tīng)器中使用。 這個(gè)事件的處理函數(shù)可以有兩個(gè)可選參數(shù): a) delta: 表征鼠標(biāo)滑輪滾動(dòng)的方向及速度,正數(shù)為向上滾動(dòng),負(fù)數(shù)為向下 取值范圍-3,-2,-1,1,2,3,delta的絕對(duì)值越大,說(shuō)明滾動(dòng)的幅度越大。 b) scrollTarget: 如果使用scrollTarget,則設(shè)delta為null。 這個(gè)參數(shù)我還沒(méi)有搞清楚,從幫助來(lái)看似乎是當(dāng)鼠標(biāo)滑輪滾動(dòng)時(shí), 在鼠標(biāo)所在位置處于最上方的電影剪輯實(shí)例。 例:
myListener = new Object(); myListener.onMouseWheel = function(delta) { trace("Mouse Wheel Test!\nScroll:"+delta); } Mouse.addListener(myListener);
注意,在測(cè)試前先用鼠標(biāo)點(diǎn)擊一下動(dòng)畫(huà),確保動(dòng)畫(huà)可以接收鍵盤(pán)和鼠標(biāo)的事件
3.MoiveClip.getSWFVersion() 返回發(fā)布MoiveClip的SWF動(dòng)畫(huà)的瀏覽器的版本號(hào),一個(gè)整數(shù)。 如果MovieClip是一個(gè)JPG文件,或發(fā)生錯(cuò)誤,無(wú)法獲得版本號(hào),則返回-1。 例:
trace(_root.getSWFVersion());
返回值7。
4.MovieClip.getNextHighestDepth() 這個(gè)方法可以讓你獲得MovieClip內(nèi)部的一個(gè)可用depth值, 這個(gè)值比所有已被其他元件占據(jù)的depth的值高。 這樣可以確保你在這個(gè)mc內(nèi)部進(jìn)行綁定,復(fù)制,創(chuàng)建mc時(shí) 新出現(xiàn)的mc一定在已存在的mc上方。 這個(gè)方法只返回0或正值。 下面的例子可以很好的幫你理解它: 例: 建立一個(gè)新的mc,命名為my_mc, 在my_mc內(nèi)部,手工的添加兩個(gè)新的mc:my2_mc,my3_mc, 添加如下代碼:
trace(my_mc.getNextHighestDepth());
輸出結(jié)果為0,表明0比現(xiàn)在任何一個(gè)my_mc中任何一個(gè)子mc的深度高。 (因?yàn)槭止?chuàng)建的mc的默認(rèn)深度均為負(fù)值) 將代碼改為:
my_mc.my2_mc.swapDepths(5); my_mc.my3_mc.swapDepths(10); trace(my_mc.getNextHighestDepth());
輸出結(jié)果為11,怎么樣?明白了吧? 一般來(lái)說(shuō),通過(guò)該方法返回的值為比當(dāng)前所有子mc的深度最高值+1 當(dāng)然,如果所有子mc的深度都小于0,則該方法返回0。
出處:藍(lán)色理想
責(zé)任編輯:藍(lán)色
上一頁(yè) 下一頁(yè) MX2004--AS2.0 新特性實(shí)例教程 [2]
◎進(jìn)入論壇Flash專(zhuān)欄版塊參加討論
|