使用Babylon.js控制我的角色的问题

时间:2014-12-18 23:01:45

标签: javascript babylonjs

在我的游戏中,我想使用WASD键移动我的角色。我已经设置了一个类,该方法在玩家按下任何WASD键移动角色时更新。问题是它没有每帧更新角色的移动。每次我按下W键,然后让它去“传送”字符。这是我上课的课程:

//character speed
var movementSpeed;
//character rotation
var rotationSpeed;

//Handles the player's movement
var PlayerMovement = (function () {
    //Constructor
    function PlayerMovement() {
        this.gameObject = null;
        this.movementSpeed = 0;
        this.rotationSpeed = 0;
    }

    PlayerMovement.prototype.onKeyReleased = function (key) {
        switch(key)
        {
            case KeyType.W:
            case KeyType.UpArrow:
                console.log("Moving up");
                this.gameObject.meshObject.position.z += movementSpeed * Tools.getDeltaTime;
                break;
        }
    }

    return PlayerMovement;
})();

我的问题是:我做错了什么?

1 个答案:

答案 0 :(得分:0)

您正在使用onKeyReleased参与此活动。这意味着在您实际释放密钥之前,它不会计算位置。您可能需要onKeyDown