我正在开发一个基于 doodle jump 的 2d 垂直滚动游戏,我正在使用 flash 和 as3 来创建它。我已经放置了滚动和平台生成,到目前为止一切都很好,但是我为每个平台随机化了 ax 和 y,显然它们只是在他们感觉的任何地方生成(在舞台内,这是我唯一的实际规则)。我想创建规则,以便新平台和上一个平台之间的最大距离为 35px。
我目前的随机码是:
public function createPlatform():void
{
//randomY();
var newY:Number = Math.random() * 600;
var X:Number = Math.random() * 500;
var tempPlatform:mcPlatform = new mcPlatform();
tempPlatform.x = X;
tempPlatform.y = newY;
platforms.push(tempPlatform);
mcContent.addChild(tempPlatform);
}
我也尝试以这种方式为 Y 做随机:
private function randomY():void
{
var flag:Boolean = false;
while (flag == false)
{
newY = Math.random() * 600;
if(newY < lastY && (lastY - newY) < 50 && (lastY - newY) > 10)
{
newY = lastY;
flag = true;
}
}
}
游戏的重点是让角色从一个平台跳到另一个平台,当游戏滚动其内容时,它只会产生一组新的平台。
PS:newY
在代码开头声明为 600 所以第一个总是从舞台高度开始。