java - libgdx modelinstance 随着时间的推移平滑地转换 3d 对象

标签 java eclipse 3d libgdx game-engine

当玩家使用 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/

相关文章:

java - 为什么我的代码有 IllegalStateException 错误

java - Eclipse RCP - 以编程方式更新菜单项

java - POST JSON 并检索 JSON 响应,即使出现 40X 错误

java - 为什么 Java 8 中的接口(interface)允许有 main 方法?

eclipse - 如何从 Eclipse 中现有的常量字符串中提取常量子字符串?

java - 像 Intellij 一样在 Eclipse 中搜索包含特定单词的 java 文件?

python - 如何使用 Plotly 绘制 3D 条形图/饼图/圆环图

java - OpenGL ES2 Alpha 测试问题

javascript - 简单的 js 添加 3d

java - For 循环保存值