Java Game:在Game/windowegdes中产生能量的算法

Java Game:在Game/windowegdes中产生能量的算法,java,android,Java,Android,我正在为Android游戏的游戏板/窗口的egdes寻找一种生成能量的算法。我正在用飞船进行旧的太空战/星空射击,我需要小行星在游戏板外的任意位置产卵,然后它们将以不同的方向和速度进入游戏板 将小行星放置在随机位置很容易,但凝灰岩部分(至少对我来说)是根据它们给出的随机位置为它们提供正确的移动方向 例如: 游戏板=1280 x 720 小行星随机位置=1100,0(x,y) 右移动方向: 小行星.xgameboard.x/2-可能的移动方向=南部和西南部 然后小行星有两个可能的移动方向(这就是我

我正在为Android游戏的游戏板/窗口的egdes寻找一种生成能量的算法。我正在用飞船进行旧的太空战/星空射击,我需要小行星在游戏板外的任意位置产卵,然后它们将以不同的方向和速度进入游戏板

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

例如:

游戏板=1280 x 720

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

右移动方向:

小行星.x 小行星.x>gameboard.x/2-可能的移动方向=南部和西南部

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


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

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

如果小行星
x-position
超过设备宽度(720),则其方向应为SW,否则应为S

if(asteroid.x>DEVICE_WIDTH){
    asteroid.direction="SW";
}else{
    asteroid.direction="S";
}
此链接可能对您有所帮助


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

什么决定了“右移动方向”?我编辑了“右移动方向”定义您是如何定义方向的?一串智力?还不知道吗?它们被定义为带有int值的枚举。是的,这是我自己的做法,但会有很多if语句,我想我是否可以避免。