我对 math.random 有一些问题。我为骰子(磁盘)做了一堂课,每件事都很好。有趣的是,当我追踪“var rand”时,我发现它只选择了一个数字。这使得它完全不是随机的。这个函数的原因是,如果这个随机数高于某个数字,例如 90,骰子(磁盘)将转到第 8 帧。但如果随机数停留在一个数字上,它将永远不会发生。一些帮助会很好。
package {
import flash.display.*;
import flash.events.*;
import flash.display.*;
import flash.utils.*;
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.utils.getTimer;
public class DiskRoll extends MovieClip
{
var rand:int = Math.random() * 100;
var diskTilt:Timer = new Timer(1350,1);
public function DiskRoll():void
{
stage.addEventListener(MouseEvent.MOUSE_DOWN, hitDisk);
diskTilt.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete);
}
private function hitDisk(event:MouseEvent):void{
this.gotoAndStop(Math.ceil(Math.random()* 7));
if(rand >= 95 && rand <=100){
this.gotoAndStop(8);
}
trace(rand);
stage.removeEventListener(MouseEvent.MOUSE_DOWN, hitDisk);
diskTilt.start();
}
private function onComplete(event:TimerEvent):void {
this.gotoAndPlay(1);
diskTilt.stop();
stage.addEventListener(MouseEvent.MOUSE_DOWN, hitDisk);
}
}
}