5

在我准备上学的游戏演示中,我需要使用 WASD 键和箭头键来移动我的角色。我设置了一个功能并设置了一个开关盒来监听任何按键。这是我的代码片段:

//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;
})();

我的问题是我的角色跳得太远以至于他从屏幕上消失了。谁能帮我弄清楚我的计算出了什么问题?

4

2 回答 2

4

一些东西 -

于 2015-01-22T15:23:07.580 回答
0

如果没有其余代码,我们几乎不可能为您提供帮助。您能否提供整个自定义 JS 文件?我认为这可能是您的相机角度的问题,而不是角色移动的问题。还有,这是第一人称游戏还是第三人称游戏?

抱歉,我会留下这个“答案”作为评论,但我没有 50 个声望点可以这样做。试图征求更多信息以提供实际答案。

于 2014-12-19T18:02:27.417 回答