0

在我的游戏中,我想使用 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;
})();

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

4

1 回答 1

0

您正在使用onKeyReleased该事件。这意味着在您实际释放密钥之前它不会计算位置。你可能想要onKeyDown

于 2014-12-18T23:15:53.953 回答