动作脚本2 - 随机使用if语句?

时间:2012-08-30 06:29:46

标签: flash random if-statement actionscript-2

我在一个硬币,一个骰子和一个8球的Flash中制作了动画(CS 5.5,如果这很重要),一旦点击你就可以在点击对象时抛出/滚动/摇动相应的对象(这些都是按钮已经),并且对于要计算的随机结果,确定gotoAndPlay的帧。

我认为硬币抛掷/模具滚动背后的过程是类似的,所以我将基础上的掷骰子和硬币抛出的8个球...我试图找到关于如何做我喜欢的事情的教程这样做,但方法已关闭。

我在随机生成一个数字方面没有任何问题,但我不知道从哪里去。

编辑:当我最初写这篇文章时,我没有任何代码可以粘贴,有人建议我试试

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

但那没用。

1 个答案:

答案 0 :(得分:0)

好吧,如果我理解你的问题,你需要生成随机数,然后转到相应的框架。 假设您已经创建了动画,则需要在动画片段按钮上粘贴类似的代码

(释放){

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

}

如果按钮和动画mc不相同,你可能需要用mc_name.gotoAndStop替换gotoAndStop。

告诉我它是怎么回事!

Editted: 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
}

这应该适合你。

如果有效,请告诉我它是怎么回事并接受答案! 感谢。