幻术师。键盘事件

135 阅读1分钟

这篇文章是Phaser系列的一部分。点击这里可以看到该系列的第一篇文章。

鼠标事件是在GameObject上触发的,因为我们用鼠标点击元素。

而用键盘则是按键,并不与任何GameObject相关联。

所以我们在this.input.keyboard ,像这样监听这些事件。

this.input.keyboard.on(<event>, function() {

})

<event> 是一个字符串,可以是 ,也可以是 ,以拦截所有按下的键,或者是它与识别特定键的字母的组合,比如。keyup keydown

  • keyup-A
  • keyup-THREE
  • keydown-F12
  • keydown-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
  }
}