今天我來給大家介紹一個功能,可以方便我們來管理我們的物件,也可以讓我們的 code 乾淨許多。
Photo by Konstantin Planinski on Unsplash
我們常常會使用 json 來管理一些我們的靜態資料,我們也可以利用這點來管理我們一些比較不太會變動的資料,或是一些我們要創建固定的物件。
以往我們創建的時候,可能會這樣重複一直創建,看起來可能會有點繁瑣。
platforms = this.physics.add.staticGroup();
platforms.create(400, 568, "ground");
platforms.create(600, 400, "ground");
platforms.create(50, 250, "ground");
platforms.create(750, 220, "ground");
如果我們利用他們 json 來做的話,可以讓我們的管理輕鬆許多,就會像是以下的方式,給大家參考參考。
json 格式
{
'platforms' : [
{ 'x': 180, 'y': 608, 'key': 'ground' },
{ 'x': 300, 'y': 500, 'key': 'ground' },
{ 'x': 50, 'y': 400, 'key': 'ground' }
.....
]
}
佈置的方式
// 載入json
this.load.json('data','./assets/json/data.json');
...
gameData = this.cache.json.get('data');
plateformsData = gameData.platforms;
for (let i = 0;i < plateformsData.length;i++) {
plateforms.create(plateformsData[i].x, plateformsData[i].y, plateformsData[i].key)
}
會是以這樣的方式來進行載入跟使用,給大家參考參考,我們就可以利用這樣的方式來創建地圖呀,或是一些複雜一點的場景,這樣就不會在程式碼裡面看到很多重複性的東西,而這些靜態的資料也可以統一管理,讓我們知道都去哪裡取得或是改變資料即可。
這邊提供了大家一個我前面沒有用到的方式,大家可以試試看把這個加入我們的「打磚塊」當中,這樣就可以製作很多不同的關卡,又不用開很多個場景囉!
Phaser
Game
2020鐵人賽
想說要做第三個遊戲 w
讓你失望了嗚嗚嗚
時間考量~怕來不及完成
(其實是想偷懶)
XDD
2位遊戲高手合體一下
不敢當不敢當
小弟只有略懂略懂
高手雲集,小弟只是打雜的