请问怎样可以实现斜向移动

现在可以EventKeyboard::KeyCode来实现按键盘的上下左右箭头来实现移动,想请问下如果想实现同时按上和左箭头,就向右上方移动的话,有什么办法实现呢?

v_x: number = 0;

v_y: number = 0;

speed: number = 10;

ply: Node = null;

up(e: EventKeyboard) {

    switch (e.keyCode) {

        case KeyCode.KEY_W:

            this.v_y = 0;

            break;

        case KeyCode.KEY_S:

            this.v_y = 0;

            break;

        case KeyCode.KEY_A:

            this.v_x = 0;

            break;

        case KeyCode.KEY_D:

            this.v_x = 0;

            break;

    }

}

down(e: EventKeyboard) {

    switch (e.keyCode) {

        case KeyCode.KEY_W:

            this.v_y = 1;

            break;

        case KeyCode.KEY_S:

            this.v_y = -1;

            break;

        case KeyCode.KEY_A:

            this.v_x = -1;

            break;

        case KeyCode.KEY_D:

            this.v_x = 1;

            break;

    }

}

update(dt) {

    this.ply.position = v3(this.ply.position.x + this.v_x * this.speed, this.ply.position.y + this.v_y * this.speed, 0)

}

谢谢,看不太懂,我研究一下

所以是想实现组合键功能对吧。可以考虑用一个容器存储按键按下的情况