0

我正在制作一个小型动作​​游戏,其中一个物体必须飞行以躲避某些物体。现在我已经制作了所有对象,但问题是它们出现的频率很高。而且我希望较小的物体(如叶子)出现得更频繁,然后假设是树枝。

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

我怎样才能在动作脚本中完成这项工作?

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

导入 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;
    }
}
4

1 回答 1

0

所以它是一个从右到左的横向滚动条,对象以相同的速度加速,你希望某些东西的生成量比其他的多。

您提供的代码与您的问题没有联系。

你有一个生成对象的函数,对吧?添加另一个介于 0 和 1 之间的参数,我们称之为频率。

做一个测试,每次你生成一个对象: if( Math.random() > frequency ) 然后你生成对象。

对于叶子,输入 1,这样就可以生成 100% 的可能叶子。对于分支,放 0.2 所以你有 20%,或者是生成的可能分支的五分之一。

如果你想要一个对象的上限,那么把 0.8 放在树叶上,把 0.2 放在树枝上,所以从所有 100% 的物体中,80% 是树叶,20% 是树枝。

于 2013-05-09T08:43:48.057 回答