mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 23:52:35 +00:00
Added require_all method to replace explicitly requiring every source file, added SoundManager and sound effects, added sound for shield/health regen
This commit is contained in:
32
lib/sound_effects/fade_in.rb
Normal file
32
lib/sound_effects/fade_in.rb
Normal file
@@ -0,0 +1,32 @@
|
||||
class IMICFPS
|
||||
class SoundEffect
|
||||
class FadeIn < SoundEffect
|
||||
def setup
|
||||
@start_time = Gosu.milliseconds
|
||||
@duration = @options[:duration] # in milliseconds
|
||||
@initial_volume = @options[:volume] ? @options[:volume] : 0.0
|
||||
@sound = @options[:sound]
|
||||
|
||||
raise "duration not specified!" unless @duration
|
||||
|
||||
@channel = @sound.play(calculate_volume)
|
||||
end
|
||||
|
||||
def ratio
|
||||
(Gosu.milliseconds - @start_time.to_f) / @duration
|
||||
end
|
||||
|
||||
def calculate_volume
|
||||
volume = (SoundManager.sfx_volume - @initial_volume) * ratio
|
||||
end
|
||||
|
||||
def update
|
||||
@channel.volume = calculate_volume
|
||||
end
|
||||
|
||||
def done?
|
||||
(Gosu.milliseconds - @start_time.to_f) / @duration >= 1.0
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user