0

我正在寻找一种算法,用于在 Android 游戏的游戏板/窗口的 egdes 处生成能量。我正在用宇宙飞船做旧的 SpaceWars/Shooting 小行星,我需要小行星在游戏板外的随机位置生成,之后它们将以不同的方向和速度进入游戏板。

将小行星放置在随机位置很容易,但凝灰岩部分(至少对我而言)是根据它们给出的随机位置为它们提供正确的移动方向。

例如:

游戏板 = 1280 x 720

小行星随机位置 = 1100, 0 (x, y)

右移方向:

asteroid.x < gameboard.x/2 - 可能的移动方向 = 南和东南

asteroid.x > gameboard.x/2 - 可行的移动方向 = 南和西南

然后小行星有两个可能的移动方向(这就是我现在定义游戏计划的方式):直接向南或西南。

我可以做很多 if 语句,但我希望有人可以帮助我解决问题的某种算法?

4

2 回答 2

1

也许我弄错了你的问题,但这就是我看到解决方案的方式:

如果小行星x-position超过您的设备宽度(720),那么它的方向应该是 SW,否则它应该是 S。

if(asteroid.x>DEVICE_WIDTH){
    asteroid.direction="SW";
}else{
    asteroid.direction="S";
}
于 2012-04-04T18:05:02.933 回答
1

这个链接可以帮助你 http://forums.create.msdn.com/forums/p/100862/599129.aspx

我认为您可能总是需要一些嵌套的 if 语句,但这种方式可能更聪明一些

于 2012-04-05T15:10:36.183 回答