diff options
Diffstat (limited to 'game/music.lua')
-rw-r--r-- | game/music.lua | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/game/music.lua b/game/music.lua index d9f3e91..d9aa80d 100644 --- a/game/music.lua +++ b/game/music.lua @@ -1,6 +1,7 @@ local M = {} M.__index = M M.playing = nil +M.volume = 0.5 function M.new(assets) local new = setmetatable({}, M) @@ -15,9 +16,17 @@ function M:play(name) self.assets.music[name]:seek(0) M.playing = self.assets.music[name] end - self.assets.music[name]:setVolume(0.5) + self.assets.music[name]:setVolume(self.volume) self.assets.music[name]:play() self.assets.music[name]:setLooping(true) end +function M:fade(loop, time) + for i=1, math.ceil(time*20) do + loop.poll(1/20) + local volume = self.volume * (1-i/(time*20)) + self.playing:setVolume(volume) + end +end + return M |