在Babylon.js中移动网格的问题
Issue with moving a mesh in Babylon.js
我正在尝试制作一款红色警戒风格的游戏,只是为了提高我的JS技能,并对游戏开发有一个基本的了解。我正试图将一个网格块从地面的一部分移动到另一部分。但是,它会立即移动块,而不是使其动画化。
这是我的babylonjs-playground…http://www.babylonjs-playground.com/OYE6Q
我认为问题出在这段代码上…
var moveUnit = function (position, item) {
if (position.x > 0) {
while (item.position.x < position.x) {
item.position.x += 0.001;
}
} else {
while (item.position.x > position.x) {
item.position.x -= 0.001;
}
}
if (position.z > 0) {
while (item.position.z < position.z) {
item.position.z += 0.001;
}
} else {
while (item.position.z > position.z) {
item.position.z -= 0.001;
}
}
}
while (item.position.x < position.x) {
item.position.x += 0.001;
}
通过使用while循环,你可以在游戏的同一帧内以增量的方式将位置更新到最终位置。它相当于说:
item.position.x = position.x;
正因为如此,你看到它从初始位置跳到最终位置,从一帧跳到下一帧;无论你如何更新位置
如果你想模拟随时间的移动,你需要在多个帧中以增量的方式向目标移动对象。如果选择正确的增量,并且帧足够快,它将看起来像平滑的运动。
要做到这一点,物体需要知道它们在帧间移动的位置,你需要在游戏中引入时间概念。
查看本教程中的概念示例
BABYLON.js有一个内置的动画函数,它自动处理网格的时间限制。这里有一个工作示例的链接!
http://www.babylonjs-playground.com/OYE6Q # 4
相关文章:
- 剑道网格jQuery动画()问题
- jqGrid树网格问题
- ExtJS网格单元格编辑器,防止焦点松动问题
- 使用导航属性创建Kendo UI网格模型的问题
- 在有角度的ui网格中设置动态列的问题
- 动态生成网格样式问题
- 我该如何解决这个问题;参考网格”;在JavaScript中完成的对象数
- 在 EXTJS 中启用多选网格时面临问题
- 剑道ui工具提示在网格中的定位问题
- 在网格面板中跳转到一行时出现问题
- 尝试只显示匹配项时出现jstree网格问题
- 使用 ng 重复的网格问题
- 网址中端口的发送网格问题
- 引导网格问题(如何解决任务)
- 使用 D3 网格问题和控制台错误的分组条形图
- 角度ux网格问题与无限滚动.如何通过编程设置限制
- 在网格问题中从xml文件加载动态数据
- Ext js网格问题显示日期在safari
- jQ网格问题与编辑表单不发送请求到SQL数据库
- 缩略图网格问题