Actionscript 3.0中的随机数/帧函数

时间:2015-07-28 18:33:25

标签: actionscript-3 flash actionscript

我在Flash Movie中有一段旧代码,它选择了一个随机帧来启动剪辑。但是,自Flash 5以来,random()函数已被弃用,而在ActionScript 3中,它已被完全删除。现在我需要更新电影中的一些图像,但时间线只是直接跳过剪辑而不停止。任何人都可以帮我修改代码吗?

这就是我所拥有的:

function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.round(Math.random()*(max-min))+min;   
    return randomNum; 
}     
var myFrame; 
myFrame = randRange(2,7); 
gotoAndStop(myFrame);

如果您希望查看现有剪辑,可以查看here

1 个答案:

答案 0 :(得分:0)

首先,我需要告诉你随机数,请使用此代码:

Math.floor(Math.random() * (1 + max - min) + min);

如果你想知道原因,你可以看一下:https://www.youtube.com/watch?v=2yICftpoCYg
或者这一个:http://www.snorkl.tv/2011/02/use-the-proper-function-for-random-numbers-or-else/

这两个链接是相同的视频。

您的代码很可能是这样的:

 function randRange(min:Number, max:Number):Number 
 {
    var randomNum:Number = Math.round(Math.random()*(max-min))+min;   
    return randomNum; 
 }     
var myFrame; 
myFrame = randRange(2,7); 
this.gotoAndStop(myFrame);