as3 Math.random() 似乎无法正常工作

as3 Math.random() cant seem to get it working correctly

我正在使用 as3 adobe flash,FLA 是一款吸引人的游戏,似乎运行良好,但我想对其进行调整。我目前得到:

试图实现每个球的随机速度,我试过这个:

var speed:Number = 7;
var RandomSpeed:Number = Math.random() * 7;
var ymov:Number =  RandomSpeed + speed;

我在函数中放了这个:

bgame[j].y += ymov;

(它 [j] 因为我必须制作另一个数组才能让球落下)

它目前将游戏中的所有球随机化为相同的速度,但我希望它对单个球执行此操作。

还有一个问题,当游戏结束时(一旦玩家得分为 2,游戏会将您带回主屏幕)屏幕上未被捕获的小球精灵仍然留在屏幕上,

你的问题是你只有 "rolling the dice" 一次,并将该结果用于每个球的速度。将 ymov 变成一个函数,每次都会产生不同的结果。即:

function ymov():Number
{
    var speed:Number = 7;
    var RandomSpeed:Number = Math.random() * 7;
    return RandomSpeed + speed;
}

您需要为每个球分配不同的 ymov 速度。就像现在一样,您在顶级范围内分配值,然后使用它来更新每个球的位置。这就是为什么他们的速度都一样。

您可以在 addBall() 函数中为每个球分配一个新的随机数 ymov 属性:

bgame[i].ymov = 7 + Math.random() * 7;

然后在你的 Ballgame() 更新函数中根据 属性:

移动球
bgame[j].y += bgame[j].ymov;

顺便说一句,作为样式注释,类 通常是 UpperCase,而变量和函数是 lowerCase