0

我在 Flash 中制作了一个硬币、骰子和一个 8 号球的动画(如果有的话,则为 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");

但这没有用。

4

1 回答 1

0

好吧,如果我正确理解了您的问题,那么您需要生成随机数,然后转到相应的帧。假设您已经创建了动画,您需要将类似这样的代码粘贴到您的影片剪辑按钮上

上(释放){

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

}

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

告诉我进展如何!

已编辑: Math.random()*2 很少会生成整数。因此,您应该使用 round 选项对数字进行四舍五入。但是如果你期望一个数字 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
}

这应该适合你。

请告诉我进展如何,如果可行,请接受答案!谢谢。

于 2012-08-30T09:47:20.603 回答