music_controller.gd 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. extends Node
  2. enum Level{
  3. title,
  4. s01
  5. }
  6. enum SEs{
  7. ok,
  8. cancel,
  9. invalid,
  10. select
  11. }
  12. var music = {
  13. "title":(load("res://Assets/th08bgm/永夜抄 ~ Eastern Night.wav") as AudioStreamWAV)
  14. }
  15. var SE = {
  16. "ok": (load("res://Assets/th0809/se_ok00.wav") as AudioStreamWAV ),
  17. "cancel": (load("res://Assets/th0809/se_cancel00.wav") as AudioStreamWAV ),
  18. "invalid": (load("res://Assets/th0809/se_invalid.wav") as AudioStreamWAV ),
  19. "select": (load("res://Assets/th0809/se_select00.wav") as AudioStreamWAV ),
  20. }
  21. @onready var bgm = self.get_node("BGM") as AudioStreamPlayer
  22. @onready var se = self.get_node("SE") as AudioStreamPlayer
  23. # Called when the node enters the scene tree for the first time.
  24. func _ready() -> void:
  25. pass # Replace with function body.
  26. func playMusic(level:Level):
  27. match level:
  28. Level.title:
  29. music["title"].loop_mode = AudioStreamWAV.LoopMode.LOOP_FORWARD
  30. music["title"].loop_begin = 246700;
  31. music["title"].loop_end = 3178816;
  32. bgm.stream = music["title"]
  33. bgm.play()
  34. pass
  35. func playSE(ses:SEs):
  36. match ses:
  37. SEs.ok:
  38. se.stream = SE["ok"]
  39. se.play()
  40. SEs.cancel:
  41. se.stream = SE["cancel"]
  42. se.play()
  43. SEs.invalid:
  44. se.stream = SE["invalid"]
  45. se.play()
  46. SEs.select:
  47. se.stream = SE["select"]
  48. se.play()
  49. # Called every frame. 'delta' is the elapsed time since the previous frame.
  50. func _process(_delta: float) -> void:
  51. pass