Class: Bestguigui::Sounds

Inherits:
Object
  • Object
show all
Defined in:
lib/bestguigui/sounds.rb

Overview

Banque de sons nommés. Passe par Bestguigui::Assets pour le chargement, donc même reconstruire une Sounds (ex: à chaque nouvelle partie) ne recharge pas les fichiers déjà en cache.

@sfx = Bestguigui::Sounds.new(
hit:   "sfx/hit.mp3",
throw: "sfx/throw.mp3"
)

@sfx.play(:hit, volume: 0.4, speed: 0.7)

Pour la musique de fond, un simple Gosu::Song suffit généralement (un seul morceau à la fois) — pas besoin de wrapper dédié.

Instance Method Summary collapse

Constructor Details

#initialize(files) ⇒ Sounds

Returns a new instance of Sounds.



16
17
18
# File 'lib/bestguigui/sounds.rb', line 16

def initialize(files)
  @samples = files.transform_values { |path| Assets.sample(path) }
end

Instance Method Details

#play(name, volume: 1, speed: 1, looping: false) ⇒ Object



20
21
22
# File 'lib/bestguigui/sounds.rb', line 20

def play(name, volume: 1, speed: 1, looping: false)
  @samples.fetch(name).play(volume, speed, looping)
end