VOPlayer.gd 738 B

123456789101112131415161718192021222324252627282930
  1. extends Area2D
  2. export var stream: AudioStream
  3. export var caption: String
  4. export var audio_delay: float
  5. export var duration: float
  6. onready var player = $AudioStreamPlayer
  7. onready var label = $"../../UI/Caption"
  8. onready var delay_timer = $AudioDelay
  9. onready var label_timer = $LabelTime
  10. func _ready():
  11. player.set_stream(stream)
  12. #
  13. delay_timer.set_wait_time(audio_delay)
  14. label_timer.set_wait_time(duration)
  15. func _on_body_entered(_body):
  16. delay_timer.start()
  17. func _on_label_timeout():
  18. label.set_visible(false)
  19. AudioServer.set_bus_volume_db(2, 0.0)
  20. func _on_delay_timeout():
  21. label_timer.start()
  22. label.parse_bbcode('[center]' + caption + '[/center]')
  23. AudioServer.set_bus_volume_db(2, -10.0)
  24. label.set_visible(true)
  25. player.play()