资源、音频与 DLC 资源根
ResourceManager
ResourceManager 负责打开、解码和缓存资源:
LoadImage(key, path)GetImage(key)LoadAudio(key, path)GetAudio(key)LoadFont(key, path)GetFont(key)
路径查找顺序:
embed.FS- 本地文件系统原路径
- 通过
AddSearchRoot挂载的外部资源根
外部资源根
外部资源根用于 DLC 或用户扩展包。
go
engine.ResourceManager.AddSearchRoot("dlc/after_story")之后加载 assets/bg_extra.png 时,也会尝试打开:
text
dlc/after_story/assets/bg_extra.png已挂载路径可通过:
go
roots := engine.ResourceManager.SearchRoots()图片
支持 Go 标准库解码的 PNG、JPEG、GIF。
go
galgo.Bg("room", "assets/room.png")
galgo.Sprite("aria", "aria_smile", "assets/aria_smile.png", galgo.PosCenter)相同 key 的资源只会解码一次。
音频
支持 WAV、MP3、OGG。
go
galgo.PlayBGM("theme", "assets/theme.ogg")
galgo.PlaySE("click", "assets/click.wav")
galgo.TextWithVoice("Aria", "你好。", "aria_001", "assets/voice/aria_001.ogg")运行时可直接访问音频管理器:
go
engine.AudioManager.SetBGMVolume(0.5)
engine.AudioManager.SetSEVolume(0.8)
engine.AudioManager.SetVoiceVolume(1.0)
engine.AudioManager.StopBGM()
engine.AudioManager.StopVoice()字体
Config.FontPath 可指定 TTF/TTC/OTF 字体。为空时,Galgo 会尝试选择系统中常见的中日韩或拉丁字体。
go
galgo.Config{
FontPath: "assets/fonts/NotoSansCJK-Regular.ttc",
}