這一節(jié)我們來搭建一個舞臺。在Phaser引擎中,一個舞臺應(yīng)該要有三個功能(preload, create,update)。這三個功能不是必須的,你也可以添加其它的功能,但是這三個功能如果有的話,引擎會按照preload,create,update的順序來調(diào)用。接下來我們添加一個舞臺。
game.states = {};
game.states.menu = function() {
this.preload = function() {
},
this.create = function() {
}
}
隨著第一個舞臺的誕生,我們又做了一件偉大又充滿意義的事,雖然這個舞臺什么事情都沒有做。其中g(shù)ame是我們前面創(chuàng)建的,states是game的一個屬性,menu是我們自定義的一個對象,在這里是states的一個屬性,不理解沒關(guān)系。
接下來我們給preload里填充些代碼,把我們的演員們請上場。
game.states.menu = function() {
this.preload = function() {
this.load.image('day', 'assets/bg/day.png');
this.load.image('night', 'assets/bg/night.png');
this.load.image('player', 'assets/b.png');
this.load.image('s1', 'assets/mooncake/11.png');
this.load.image('s2', 'assets/mooncake/22.png');
this.load.image('1', 'assets/mooncake/1.png');
this.load.image('2', 'assets/mooncake/2.png');
this.load.image('3', 'assets/mooncake/3.png');
this.load.image('4', 'assets/mooncake/4.png');
this.load.image('5', 'assets/mooncake/5.png');
this.load.image('6', 'assets/mooncake/6.png');
this.load.image('7', 'assets/mooncake/7.png');
this.load.image('message', 'assets/menu/message.png')
this.load.image('button', 'assets/button.png');
this.load.audio('bang', 'assets/music/bang.wav');
this.load.audio('music', 'assets/music/675.mp3');
},
this.create = function() {
this.add.sprite(0, 0, 'day');
}
}
load.image是加載圖片資源,load.audio是加載音頻資源,第一個參數(shù)如"day"是個名稱,后面加載的時候要使用這個名稱,如create里做的事,把我們名稱為"day"的演員請上舞臺,并且指定了她的位置為左上角。關(guān)于坐標系我們后面在演員那一節(jié)來講。
要把我們的舞臺展示出來,我們還需要做些工作。
game.state.add('menu', game.states.menu);
game.state.start('menu');
運行一下看看結(jié)果。

4.gif
歡呼吧,我們的舞臺起作用了。