Phaser: 多個場景

本文章為 Phaser 系列文章的一部分。點此查看該系列文章的第一篇。 在先前的例子中,我們看到了如何通過將包含函數引用的物件傳遞給 Phaser.Game() 選項物件的 scene 屬性來創建場景: function preload() {} function create() {} new Phaser.Game({ width: 450, height: 600, scene: { preload, create } }) 這是一個簡單的情境。 一個遊戲通常有多個場景。您可以在不同的檔案中創建每個場景,並將它們作為陣列傳遞給 scene 屬性。 在這種情況下,場景是通過擴展 Phaser.Scene 物件來創建的。 我們在一個獨立的 Welcome.js 檔案中創建了一個歡迎場景: export default class Scene1 extends Phaser.Scene { constructor() { super('welcome') } create() { this.add.text(20, 20, 'Loading..') setTimeout(() => { this.scene.start('game') }, 2000) } } 並在 Game.js 中創建了一個遊戲場景: export default class Scene2 extends Phaser.Scene { constructor() { super('game') } create() { this....

Phaser:播放音效

本文是Phaser系列文章的一部分。點擊這裡查看該系列文章的第一篇。 與顯示圖像類似,要播放音頻文件,您必須預加載它並將其賦予一個標籤: function preload() { this.load.audio('sound', 'sound.mp3') } 對於圖像,我們使用了this.load.image(),這裡我們使用了this.load.audio()。 完成這一步後,我們可以將音頻用於我們的create()或update()函數中: this.sound.add('sound') 這將返回一個對象。重要的是將它賦值給一個變量: const sound = this.sound.add('sound') 因為稍後,當我們需要時,我們將在其上調用play()方法: sound.play() 例如,您可以將其與鼠標事件結合使用,當單擊或懸停在項目上時播放聲音。