在一个游戏演示中,我要上学,我需要使用W-A-S-D键以及箭头键来移动 Angular 色。我设置了一个功能,并设置了一个开关盒来监听任何按键。这是我的代码段:
//Handles the player's movement
var PlayerMovement = (function () {
//Constructor
function PlayerMovement() {
this.gameObject = null;
this.movementSpeed = 0;
this.rotationSpeed = 0;
}
PlayerMovement.prototype.awake = function () {
console.log("Awake");
};
PlayerMovement.prototype.update = function () {
//console.log(Tools.getFps());
}
PlayerMovement.prototype.onKeyPressed = function (key) {
switch(key)
{
case KeyType.W:
case KeyType.UpArrow:
console.log("Moving up");
this.gameObject.meshObject.position.z += (BABYLON.Vector3.Up() * this.movementSpeed * Tools.getDeltaTime());
break;
case KeyType.A:
case KeyType.LeftArrow:
//TODO: Do stuff
break;
case KeyType.S:
case KeyType.DownArrow:
//TODO: Do stuff
break;
case KeyType.D:
case KeyType.RightArrow:
//TODO: Do stuff
break;
}
}
return PlayerMovement;
})();
我的问题是我的 Angular 色跳得太远,以至于他从屏幕上消失了。谁能帮我弄清楚我的计算出了什么问题?
最佳答案
一些东西 -
this.gameObject.meshObject.translate(BABYLON.Vector3.Up(), this.movementSpeed * Tools.getDeltaTime());
关于javascript - 使用Babylon.js进行 Angular 色移动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27571362/