伊莉討論區

標題: flash as3.0隨機語法問題 [打印本頁]

作者: iog0826    時間: 2010-8-18 04:44 AM     標題: flash as3.0隨機語法問題

我做了一個類似像抽籤的檔案,共有2個場景,第一場景按下按鈕後開始play,到最後
影格時會自動跳至第2場景的隨機影格並停止『第2場景共50個影格』,同時也會從元件庫複製一個按鈕至影格,此按鈕可跳至第一場景重頭play,這樣就可以一直抽籤,但不知是不是我錯覺,覺得隨機影格比較偏向25影格之後的,請教各位怎麼寫語法才是最隨機又平均的?
如果不想讓隨機已出現的影格再重複出現要怎麼寫?
我隨機語法是這樣寫得:『addChild(s);是我複製的可跳至第一場景重頭play的按鈕』

var a = Math.floor(Math.random()*50);
switch (a){
case 0:
gotoAndStop(1,"02");
addChild(s);
s.x=505;
s.y=505;
break;
case 1:
gotoAndStop(2,"02");
addChild(s);
s.x=505;
s.y=505;
break;
........................共有50個,以下省略
不知道這樣寫對嗎?
作者: cain    時間: 2010-8-19 10:40 AM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: iog0826    時間: 2010-8-19 05:36 PM

機率是亂數 你的感覺是錯覺
這行 var a = Math.floor(Math.random()*50);  
改 var a:int = int(Math.ra ...
cain 發表於 2010-8-19 10:40 AM



我也覺得蠻長的,我把他改成下面這樣就短多了
do {
var a:int = int(Math.random()*51);
}
while( a == 0 );

var s:MovieClip=new gho();

gotoAndStop(a,"02");
addChild(s);
s.x=505;
s.y=505;

想請問一下,已出現的影格要怎麼寫才能讓他不重複出現
作者: cain    時間: 2010-8-20 09:21 AM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: iog0826    時間: 2010-8-20 10:33 PM

不瞭解您的意思..   已出現的影格?
cain 發表於 2010-8-20 09:21 AM



    謝謝~我已經解決了~感謝
作者: vinaqc    時間: 2010-9-4 04:44 AM

2到50應該是Math.floor(Math.random()*49)+2才對
作者: jeaby    時間: 2011-8-23 09:07 PM

學的了隨機數字的精華!!
謝謝樓上幾位大大的教學
作者: aa11bb220    時間: 2012-5-29 06:18 PM

我都不懂.................
還蠻想學
作者: create229    時間: 2012-7-1 09:50 AM

太感謝兩位的討論 讓小弟茅塞頓開~~~




歡迎光臨 伊莉討論區 (http://a407.file-static.com/) Powered by Discuz!