Class: Bestguigui::Sounds

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

Overview

Banque de sons nommés, chargés une fois. Évite de trimballer un hash de Gosu::Sample à la main dans chaque state.

@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.



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

def initialize(files)
  @samples = files.transform_values { |path| Gosu::Sample.new(path) }
end

Instance Method Details

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



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

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