现在可以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)
}
谢谢,看不太懂,我研究一下
所以是想实现组合键功能对吧。可以考虑用一个容器存储按键按下的情况