本文章是 Phaser 系列文章的一部分。點擊這裡查看系列文章的第一篇。
在 Phaser 中,除了 preload() 和 create() 這兩個場景外,我們還有第三個場景,被稱為 update()。
在這裡,一切事情都會發生。
preload() 和 create() 只會執行一次。
update() 會一直被呼叫,成為一個無窮迴圈,直到遊戲結束。
在這個例子中,我們創建了一個文字,它慢慢地移動到畫布的右下角:
let text
function create() {
 text = this.add.text(100, 100, 'test')
}
function update() {
 text.x += 1
 text.y += 1
}
const game = new Phaser.Game({
 width: 400,
 height: 400,
 scene: {
 create,
 update
 }
})
注意我在頂部添加了 let text,這樣我們可以在 create() 和 update() 中引用它。
在 update() 中,我修改了 x 和 y 屬性。您還可以修改其他屬性,例如可以修改 angle 以旋轉物體:
function update() {
 text.angle += 2
}
您可以使物體從特定的速度開始運動。
調用 setVelocity(),並傳遞一個數字作為 X 軸的速度,另外還可以選擇性地傳遞 Y 軸的速度:
text.setVelocity(20, 20)
或者使用 setVelocityX() 和 setVelocityY() 只設置其中一個軸的速度。