Game Development Reference
In-Depth Information
11 object, @object_pool . camera)
12 pan = Utils . pan(object, @object_pool . camera)
13 if driving_sound . paused?( id )
14 driving_sound . resume( id )
15 elsif driving_sound . stopped?( id )
16 driving_sound . play( id , pan, 0.5 , 1 , true )
17 end
18 driving_sound . volume_and_pan( id , move_volume * 0.5 , pan)
19 else
20 if driving_sound . playing?( id )
21 driving_sound . pause( id )
22 end
23 end
24 end
25
26 def collide
27 vol, pan = Utils . volume_and_pan(
28 object, @object_pool . camera)
29 crash_sound . play( self . object_id, pan, vol, 1 , false )
30 end
31
32
private
33
34 def driving_sound
35
@@driving_sound ||= StereoSample . new(
$window , Utils . media_path( 'tank_driving.mp3' ))
36
37 end
38
39 def crash_sound
40
@@crash_sound ||= StereoSample . new(
$window , Utils . media_path( 'metal_interaction2.wav' ))
41
42 end
43 end
And this is how static ExplosionSounds looks like:
09-polishing/entities/components/explosion_sounds.rb
1 class ExplosionSounds
2 class << self
3 def play (object, camera)
4 volume, pan = Utils . volume_and_pan(object, camera)
5 sound . play(object . object_id, pan, volume)
6 end
7
8
private
Search WWH ::




Custom Search