当玩家使用 touchDown 输入时,我正在尝试使自上而下 View 中的 3d 角色在 x y 方向上移动。 到目前为止,我有一个立方体,使用 LibGDX ModelInstance,只要触摸屏幕就会移动,但立方体只移动一定数量的单位;我真正想要的是让立方体随时间移动设定的单位数量,无论玩家调用 touchDown 事件多长时间。
我有这样的东西:
instance.transform.translate(movementRight);
其中 movementRight 是 Vector3(5, 0, 0); 当玩家使用 touchDown 输入时,这会将立方体向右移动 5 个单位。 我怎样才能把它连接起来更新每一帧?任何帮助表示赞赏。非常感谢!
最佳答案
有一个 boolean 标志,指示立方体何时应该向右移动,如下所示:
boolean isMovingRight = false;
在 touchDown 事件中将其设置为 true,在 touchUp 事件中将其设置为 false。
然后在你的渲染方法中,做这样的事情:
if(isMovingRight){
instance.transform.translate(5*delta, 0, 0);
}
这将使实例每秒移动 5 个单位,这样做非常重要,使用增量,因此它以与 FPS 无关的相同速度移动。
关于java - libgdx modelinstance 随着时间的推移平滑地转换 3d 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20894238/