每天學一點flash(57)簡單抽獎方式實現

來源:互聯網
上載者:User

  //擷取新數組<br />private function getNewArray(myarray:Array):Array<br />{<br />var Temp:Array=new Array();<br />for (var i:int=0; i<myarray.length; i++)<br />{<br />if (myarray[i]!=0)<br />{<br />Temp.push(myarray[i]);<br />}<br />}<br />return Temp;<br />}

今天處理數組的時候,發現一種新的方法處理數組一些長度的問題,由於抽獎程式的時候經常要處理數組的長度,有時候經常要進行刪除數組來擷取新的長度。這時候,想一個辦法處理。大概思路是這樣,

var  array:Array=[11,22,33,44];

 

當我希望進行對數組某一個數進行屏蔽的時候,那麼就對某一個賦予對象為0(這種是小數目的情況下使用)例如

array[0]=0;

array[1]=0;

array[2]=0;

array[3]=0;

 

 

這樣,我們可以使用var temp:Array=getNewArray(array);擷取新的數組了。

擷取新的數組temp,它的長度可以隨便改變。

trace(temp.length);//

輸出的結果是不一樣的。

 

這樣就可以實現到一個可變的長度,然後採用Math.random的方式進行隨機抽取某一個數

var n:int=Math.floor((temp.length)*Math.random());//長度變更

這樣就隨機選取一些結果,實現了一種簡單的抽獎方式了。

switch(temp[n])

{

 

  case 11;

  break;

............................

.................

...........

 

}

 

過去,曾經製作一些簡單抽獎flash程式,其中很多時候都是使用數組儲存資料,通過長度選擇數組某一個數字,並輸出結果。

這樣完成了簡單抽獎方式了。

 

 

總述:

1、抽獎flash實現方式有一種思路,通過數組儲存需要抽取的資料。通過random數,隨機顯示數組長度區間值。然後擷取這個下標。通過輸出螢幕上,這樣就實現簡單抽獎了。

 

2、注意,為了讓抽獎不重複,有一種思路就是刪除出現的數,然後返回一個新的數組。並且按新的數組長度再隨機抽取。

直到完成為止。

 

3 、同樣可以採取屏蔽的方式,如隨機播放某一數組下標的時候,對其array[n]=0,賦予為0,然後再使用上面介紹的方法,getNewArray(),但是如果數目太多的話,會影響速度。畢竟屏蔽一次就需要重新掃描一次,這樣效率就不高了。因此注意數組長度不大的時候,可以使用上面的方法。至於適合不適合,還是見仁見智。這裡只是提供一個參考。

 

註:這些只是筆記記錄。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.