Skip to content

资源、音频与 DLC 资源根

ResourceManager

ResourceManager 负责打开、解码和缓存资源:

  • LoadImage(key, path)
  • GetImage(key)
  • LoadAudio(key, path)
  • GetAudio(key)
  • LoadFont(key, path)
  • GetFont(key)

路径查找顺序:

  1. embed.FS
  2. 本地文件系统原路径
  3. 通过 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",
}

Released under the project license.