来源

@timothyqiu的 如何保存游戏设置【Godot教程】

部分源码

这部分代码主要是使用ConfigFile类型,进行游戏背景音乐和音效的启用和暂停。涉及配置项的保存和加载。

  1. extends Node
  2. const CONFIG_PATH "user://settings.cfg"
  3. var bgm_enabled setget set_bgm_enabled,is_bgm_enabled
  4. var sfx_enabled setget set_sfx_enabled,is_sfx_enabled
  5. func set_bgm_enabled(value):
  6. AudioServer.set_bus_mute(BGM_IDX,not value)
  7. func is_sfx_enabled()
  8. return not AudioServer.is_bus_mute(SFX_IDX)
  9. func set_sfx_enabled(value):
  10. AudioServer.set_bus_mute(SFX_IDX,not value)
  11. func save_config()
  12. var file ConfigFile.new()
  13. file.set_value("audio","bgm_enabled",is_bgm_enabled())
  14. file.set_value("audio","sfx_enabled",is_sfx_enabled())
  15. var err = file.save(CONFIG_PATH)
  16. if err != OK:
  17. push_error("Failed to save config:%d"%err)
  18. func load_config():
  19. var file ConfigFile.new()
  20. var err file.load(CONFIG_PATH)
  21. if err ==OK:
  22. set_bgm_enabled(file.get_value("audio","bgm_enabled",true))
  23. set_sfx_enabled(file.get_value("audio","sfx_enabled",true))
  24. else:
  25. push_warning("Failed to load config:%d"%err)
  26. set_bgm_enabled(true)
  27. set_sfx_enabled(true)