2014-05-05 303 views
0

如何生成1-10之間的隨機整數?Flash CC隨機數

我現在還沒有得到任何代碼,而且我在網上看了一下,但找不到任何東西。此外,我需要它,所以當你打一棵樹時,它會產生一個隨機數,如果它是6,那麼它會掉落一個蘋果。我有點擊樹,但沒有別的,這裏是我所有的代碼到目前爲止:

var count:Number = 0; 
var leftPressed:Boolean = false; 
var rightPressed:Boolean = false; 
var changeCharacter:Boolean = false; 
var still:Boolean = false 

HeadBodyLegs1st.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey); 
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed); 
stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed); 

stop(); 
HeadBodyLegs1st.gotoAndStop(1) 
Tree.gotoAndStop(1) 
HeadBodyLegs1st.gotoAndStop(1) 


stage.addEventListener(MouseEvent.RIGHT_CLICK,function():void{}); 

function fl_MoveInDirectionOfKey(event:Event) 
{ 

if (leftPressed) 
{ 
    HeadBodyLegs1st.x -= 15; 
    HeadBodyLegs1st.gotoAndStop(3) 
} 
if (rightPressed) 
{ 
    HeadBodyLegs1st.gotoAndStop(2) 
    HeadBodyLegs1st.x += 15; 
} 
if (Tree.hitTestObject(HeadBodyLegs1st)) 
{ 
    count = count + 100; 
    Score.text = (count).toString(); 
    Tree.gotoAndStop(2) 
} 

if (still) 
{ 
    HeadBodyLegs1st.gotoAndStop(1) 
} 

} 

function fl_SetKeyPressed(event:KeyboardEvent):void 
{ 
switch (event.keyCode) 
{ 

    case Keyboard.LEFT: 
    { 
     leftPressed = true; 
     still = false 
     break; 
    } 
    case Keyboard.RIGHT: 
    { 
     rightPressed = true; 
     still = false 
     break; 
    } 
    case Keyboard.SPACE: 
    { 
     changeCharacter = true; 
     break; 
    } 
} 
} 

function fl_UnsetKeyPressed(event:KeyboardEvent):void 
{ 
switch (event.keyCode) 
{ 

    case Keyboard.LEFT: 
    { 
     leftPressed = false; 
     still = true 
     break; 

    } 
    case Keyboard.RIGHT: 
    { 
     rightPressed = false; 
     still = true 
     break; 
    } 
    case Keyboard.SPACE: 
    { 
     changeCharacter = false; 
     break; 

    } 
} 
} 

非常感謝如果解決方案被發現!

+0

Math.ceil(數學式。隨機()* 10); –

+0

Math.random()可以得到0,因此Andrew的結果基本上可以包含0到10之間的數字,而不是1到10. –

回答

2

下面的代碼能達到目標嗎?

var random:int = Math.floor(Math.random() * 10) + 1; 

基本上的Math.random()將產生從0到1(1除外),乘以從的Math.random()的結果出現在從0返回至10的數(但是10除外)。

通過這樣做一個Math.floor,這將導致從0到9的隨機數,所以將1加到這將導致隨後的隨機數從1到10

+0

將Math.floor更改爲Math.ceil,並且您不需要+1 –

+1

@AndrewSellenrick'Math。隨機'可以返回0.所以'Math.ceil(Math.random()* 10)'可以返回0到10之間的任何值,包括兩個邊界。 – JKillian

+0

@ user3124288 Math.ceil總是四捨五入,所以你只能得到1-10之間的數字。 –

0
min + (max - min) * Math.random(); 
+0

請爲您提供的解決方案的關鍵方面添加一些解釋。 – Rachcha

+0

對不起,我自己不知道這是如何工作的。我正在閱讀一本書教程,這是他們如何設置它的最小值和最大值。我所知道的是它的作品。 – ModDL