我正在寻找一种算法,用于在Android游戏的游戏板/窗口的egdes中产生能量。我正在用宇宙飞船做旧的太空战/射击星号,我需要小行星在游戏板外的随机位置产卵,然后它们将以不同的方向和速度进入游戏板。
将小行星放置在随机位置很容易,但凝灰岩部分(至少对我而言)是根据它们给出的随机位置给它们正确的移动方向。
例如:
游戏板= 1280 x 720
小行星随机位置= 1100,0(x,y)
正确的移动方向:
asteroid.x< gameboard.x / 2 - 可能的移动方向=南部和东南部
小行星x> gameboard.x / 2 - 可行的移动方向=南部和西南部
然后小行星有两个可能的移动方向(这就是我现在定义游戏规划的方式):直接向南或向西。
我可以做很多if语句,但是我希望有人可以帮助我解决问题的某种算法?
答案 0 :(得分:1)
也许我错了你的问题,但这就是我看到解决方案的方式:
如果小行星x-position
超过您的设备宽度(720),则其方向应为SW,否则应为S.
if(asteroid.x>DEVICE_WIDTH){
asteroid.direction="SW";
}else{
asteroid.direction="S";
}
答案 1 :(得分:1)
此链接可能对您有所帮助 http://forums.create.msdn.com/forums/p/100862/599129.aspx
我认为你可能总是需要一些嵌套的if语句,但这种方式可能会更聪明一些