我想制作一个游戏,但我坚持的东西,应该是一个简单的计算。根据玩家与敌人的相对位置,我应该如何让敌人以恒定速度射击子弹,而不管玩家的方向和距离如何?一个对象的方向基于两个其他对象的位置,同时保持恒定速度,Java
我可以让敌人直接射向玩家,但玩家距离敌人越近,他的子弹就越慢。因此,玩家离敌人越远,敌人子弹的行进速度就越快。
我也尝试将玩家和敌人之间的直线斜率转换为弧度,并使用正弦和余弦作为X和Y中子弹更新时的变化,但Y值变得很小,因此子弹只会在X轴上向右移动,而在Y轴上会稍微向上移动。
帮助?
你用什么样的坐标系的 斯特凡?我认为在建模每个人的位置时可能存在问题。 – Darien 2011-06-09 04:17:38
向我们展示您当前实施的重要部分。看起来你在计算中使用距离 - 不要。子弹是速度恒定的东西(用于游戏目的),但方向可变。你只需要计算方向。 – Bohemian 2011-06-09 04:17:54