随着时间的推移,libgdx modelinstance平滑地翻译3d对象

时间:2014-01-03 00:04:32

标签: java eclipse 3d libgdx game-engine

当玩家使用touchDown输入时,我正试图在自上而下的视图中使3d角色向x y方向移动。 到目前为止,我有一个立方体,使用LibGDX ModelInstance,每当触摸屏幕时移动,但立方体只移动一定数量的单位;我真正想要的是立方体随着时间的推移移动那个设定数量的单位,无论玩家有多长时间都有被调用的触摸事件。

我有这样的事情:

instance.transform.translate(movementRight);

其中movementRight是Vector3(5,0,0); 当玩家使用touchDown输入时,这会将立方体移动到右侧5个单位。 如何将其挂钩以更新每一帧?任何帮助表示赞赏。非常感谢你!

1 个答案:

答案 0 :(得分:3)

有一个布尔标志,指示多维数据集应该向右移动,如下所示:

boolean isMovingRight = false;

touchDown 事件中将其设置为 true ,在 touchUp 事件中将其设置为 false

然后在你的渲染方法中,做一下这样的事情:

if(isMovingRight){
    instance.transform.translate(5*delta, 0, 0);
}

这会将实例每秒移动5个单位,这样做非常重要,使用delta,所以它以与 FPS 无关的相同速度移动。