物理和数学问题

时间:2015-02-13 08:24:23

标签: java android game-engine game-physics joystick

我需要代码示例或指导如何实现一个好的操纵杆来移动屏幕中的对象。

1 个答案:

答案 0 :(得分:3)

有一个叫插值的原理 - 基本上你按照你所描述的方式在你想要的两个值之间移动。有很多复杂的方法可以做到这一点,但线性插值是最直接的。它大致如下:

如果初始速度为a且最终速度为b并且您想要在两者之间转换,则让中间速度为(1-k)*a + k*b。 这里k是一个浮点数,从0开始,结束于1.您可以从表达式中看到,当k=0时,我们的中间速度为a,而k=1时速度变为b。当k介于0和1之间时,我们会在ab之间获得速度。

现在您只需选择希望转换持续多长时间。请致电tTime。然后,您可以通过设置k来更新k = (time elapsed since transition started) / tTime)。 tTime的值取决于你 - 将其存储为一个字段然后你可以轻松调整它,只需尝试一些值,看看你的游戏感觉是什么

更详细地描述了这些原则here