这篇文章是Phaser系列的一部分。点击这里可以看到该系列的第一篇文章。
鼠标事件是在GameObject上触发的,因为我们用鼠标点击元素。
而用键盘则是按键,并不与任何GameObject相关联。
所以我们在this.input.keyboard ,像这样监听这些事件。
this.input.keyboard.on(<event>, function() {
})
<event> 是一个字符串,可以是 ,也可以是 ,以拦截所有按下的键,或者是它与识别特定键的字母的组合,比如。keyup keydown
keyup-Akeyup-THREEkeydown-F12keydown-ENTER
我们有大量的标识符可以使用,包括。
- A ~ Z
- F1 ~ F12
- 空格
- TAB
- 输入
- 甩手
- CTRL.箭头键
- 暂停
- CAPS_LOCK
- ESC
- 空格
- 向上翻页,向下翻页
- 结束,主页
- 左、上、右、下
- PRINT_SCREEN
- INSERT, DELETE
- 零,一,二,三,四,五,六,七,八,九
- numpad_zero, numpad_one, numpad_two, numpad_three, numpad_four, numpad_five, numpad_six, numpad_seven, numpad_eight, numpad_nine, numpad_add, numpad_subtract
我们可以通过调用this.input.keyboard.createCursorKeys() 来获得一个对象,而不是监听单个键。
let cursors
function create() {
cursors = this.input.keyboard.createCursorKeys()
}
并在update() 函数中,我们可以检查一个特定的键是否被按下,并在发生这种情况时做一些事情。
function update() {
if (cursors.right.isDown) {
text.x += 5
}
if (cursors.left.isDown) {
text.x -= 5
}
if (cursors.up.isDown) {
text.y -= 5
}
if (cursors.down.isDown) {
text.y -= 5
}
}