使用actionscript / flash添加“Rarity-Frequence”

时间:2013-05-09 08:24:20

标签: flash actionscript frequency

我正在制作一个小动作游戏,其中一个物体必须飞行以躲避某些物体。现在我已经制作了所有对象,但问题是所有对象都经常出现。而且我希望较小的对象(如叶子)看起来更频繁,然后让我们说一个树枝。

此外,我们在游戏中有一个小额外奖励,可以增加额外的生命,并且不应该像叶子或树枝那样频繁发生,但是应该很少发生。

如何在动作中完成这项工作?

这是例如屏幕上出现的叶子的代码。

import flash.events.Event;

var movement = 10;
addEventListener(Event.ENTER_FRAME, update);
function update(e:Event) {
    x = x - movement; 
    movement = movement + 0.04;
    if (x < -width) {
        x = stage.stageWidth + width;
        y = Math.random() * stage.stageHeight;
    }
}

1 个答案:

答案 0 :(得分:0)

所以它是一个从右到左的侧卷轴,对象以相同的速度加速,你想要生成比其他更多的东西。

您提供的代码与您的问题无关。

你有一个生成物体的功能,对吗?添加另一个介于0和1之间的参数,让我们称之为频率。

每次生成一个对象时进行测试:if(Math.random()&gt; frequency)然后生成对象。

对于叶子,放1,所以你有100%可能的叶子产生。对于分支,将0.2设为20%,或者生成可能分支的五分之一。

如果你想要一个对象的上限,那么把0.8加到叶子上,0.2加到分支上,所以从所有100%的对象中,80%是叶子,20%是分支。