本篇文章是Phaser系列的一部分。點擊這裡查看該系列的第一篇文章。
滑鼠事件會在遊戲物件上觸發,因為我們通常是透過滑鼠點擊元素。而鍵盤事件則不會與特定的遊戲物件相關聯,我們只是按下鍵盤上的按鍵。
所以我們需要在this.input.keyboard
對象上監聽這些事件,如下所示:
this.input.keyboard.on(<event>, function() {
})
<event>
是一個字符串,可以是keyup
或keydown
,用於捕捉所有按下的按鍵,或是結合某個特定按鍵的字符,例如:
keyup-A
keyup-THREE
keydown-F12
keydown-ENTER
我們可以使用許多標識符,包括:
- A ~ Z
- F1 ~ F12
- BACKSPACE
- TAB
- ENTER
- SHIFT
- CTRL. ALT
- PAUSE
- CAPS_LOCK
- ESC
- SPACE
- PAGE_UP, PAGE_DOWN
- END, HOME
- LEFT, UP, RIGHT, DOWN
- PRINT_SCREEN
- INSERT, DELETE
- ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE
- 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
}
}