我的舞台大小为640 x 1136
我想随机生成我的对象,但只是在舞台内部。
我用过这个
object.x = Math.random() * stage.stageHeight;
如何在舞台区域内生成x位置?
答案 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轴重复相同的操作。