如何使对象在舞台内随机生成

时间:2015-05-30 12:38:28

标签: actionscript-3

我的舞台大小为640 x 1136

我想随机生成我的对象,但只是在舞台内部。

我用过这个

object.x = Math.random() * stage.stageHeight;

如何在舞台区域内生成x位置?

2 个答案:

答案 0 :(得分:1)

你想要一个“随机范围”功能like the one here (包括在下面)。

但是,如果您正在进行游戏,您可能会对随机产生对象(例如彼此堆积的物体等)的结果感到不满,并希望施加更多控制。有很多方法可以做到这一点 - 比如定义一组区域或象限,随机选择其中一个,然后在该区域内生成随机坐标,或者从中随机选择一组定义的“好”点。实际随机性通常不如随机性的想法或外观有趣。

public function randRange(minNum:Number, maxNum:Number):Number {
   return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum);
}

答案 1 :(得分:-1)

TOMATO答案与你实际做的一样,所以它并没有真正帮助。您需要做的是考虑对象大小。如果您的对象最大宽度为100像素,那么:

var size:Number = object.width; 
object.x = size + Math.random() * (stage.stageWidth - size * 2);

这可确保对象在舞台x轴内的x轴上生成。当然,需要对y轴重复相同的操作。