2012-08-30 48 views
0

我做了一個硬幣,一個模子和一個8球的Flash(CS 5.5,如果有的話)的動畫,一旦點擊你就可以在點擊對象時擲出/滾動/搖晃各個對象(這些都是按鈕已經),並且爲了計算隨機結果,確定gotoAndPlay的幀。動作腳本2 - 使用if語句以及隨機?

我認爲硬幣拋擲/模切輥背後的過程是相似的,所以我會根據擲硬幣和擲硬幣擲出8個球......我試着找到關於如何做一些事情的教程,這樣做,但方法是關閉的。

我沒有任何問題隨機生成一個數字,但我不知道該從哪裏去。

編輯:我沒有任何代碼粘貼當我最初寫這個有人建議我嘗試

(int)(Math.random()*2) 
if((int)(Math.random()*2) == 0) 
    {gotoAndPlay("label a");} 
else if((int)(Math.random()*2) == 1) 
    {gotoAndPlay("label b"); 

但沒有奏效。

+0

你想要做什麼?粘貼一些代碼。 – antoniom

回答

0

好吧,如果我正確理解你的問題,那麼你需要產生一個隨機數,然後去相應的幀。 假設您已經創建了動畫,則需要在(釋放)粘貼到您的影片剪輯按鈕

代碼像這樣{

var xy=Math.round(Math.random() * 2)+1 //"2" is the number of frames you have 
gotoAndStop(xy); 

}

,你可能需要更換gotoAndStop如果按鈕和動畫mc不相同,則使用mc_name.gotoAndStop。

告訴我它是怎麼回事!

編輯: Math.random()* 2將很少生成整數。因此,您應該使用輪選項四捨五入數字。但是,如果您期望的數字爲1或0,則應該只使用Math.round(Math.random()) 此外,您遇到的問題是您在if語句中使用Math.random 您的代碼應該如何看起來像是:

var num:Number=Math.round(Math.random()); 
if(num==0){ 
//Do something 
}else{ 
//Do Something 
} 

如果你期待超過2個的情況下,則

var num:Number=Math.round(Math.random()*numberofcases); 
switch(num){ 
case 0: 
//do something 
break; 
case 1: 
//do something 
break; 
case 2: 
//do something 
break; 
... 
default: 
//do something as default 
break 
} 

這應該爲你工作。

請告訴我它是怎麼回事,如果它有效,請接受答案! 謝謝。

+1

不幸的是,這並不適合我。 我應該把x和y的值放在什麼地方? 我編輯了一個朋友給我的代碼,但也沒有工作的主要問題。 – user1635112