【Flame 學習筆記】系列文章目錄:連結
【Flutter 學習筆記】線上課程教學影片:連結
【Flutter 學習筆記】系列文章目錄:連結
在開發使用 Flutter 的遊戲時,Flame 遊戲引擎提供了一個建議的專案結構,這個結構不僅包含標準的 Flutter 資源目錄,還包括一些子目錄:音效(audio)、圖片(images)和磚塊(tiles)。這樣的結構能夠幫助開發者更有條理地管理遊戲資源。
以下是使用 Flame 的範例程式碼:
void main() {
FlameAudio.play('explosion.mp3');
Flame.images.load('player.png');
Flame.images.load('enemy.png');
final map1 = TiledComponent.load('level.tmx', tileSize);
final map2 = await SpriteFusionTilemapComponent.load(
mapJsonFile: 'map.json',
spriteSheetFile: 'spritesheet.png'
);
}
根據這段程式碼,Flame 預期的檔案結構如下:
└── assets
├── audio
│ └── explosion.mp3
├── images
│ ├── enemy.png
│ ├── player.png
│ └── spritesheet.png
└── tiles
├── level.tmx
└── map.json
你可以選擇將音效資料夾進一步細分為兩個子資料夾,一個用於音樂(music),另一個用於音效(sfx)。
在使用這些資源之前,別忘了將檔案路徑添加到 pubspec.yaml
檔案中:
flutter:
assets:
- assets/audio/explosion.mp3
- assets/images/player.png
- assets/images/enemy.png
- assets/tiles/level.tmx
如果你希望更改這個結構,可以使用 prefix
參數,並創建自己的 AssetsCache
、Images
和 AudioCache
實例,而不是使用 Flame 提供的全域實例。此外,AssetsCache
和 Images
也可以接收自訂的 AssetBundle
,這樣可以讓 Flame 在不同於 rootBundle
的位置尋找資源,例如在檔案系統中。
透過這些設置,你可以靈活地管理遊戲資源,提升開發效率,讓你的遊戲開發過程更加順利。希望這篇文章能幫助你更好地理解 Flame 的專案結構,並在開發過程中獲得靈感!