summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAki <nthirtyone@gmail.com>2016-08-05 16:30:51 +0200
committerAki <nthirtyone@gmail.com>2016-08-05 16:30:51 +0200
commitbf5f449516673d63e03b7a8859f419a9667ac295 (patch)
tree16ecc8282cbeab6f6189fedd2001c416b5509f67
parent17f4ae2f06e041edb3ecb30035c713a77c64fb46 (diff)
downloadroflnauts-bf5f449516673d63e03b7a8859f419a9667ac295.zip
roflnauts-bf5f449516673d63e03b7a8859f419a9667ac295.tar.gz
roflnauts-bf5f449516673d63e03b7a8859f419a9667ac295.tar.bz2
Main menu music
-rw-r--r--assets/music/ROFLmenu.oggbin0 -> 1041812 bytes
-rw-r--r--main.lua4
-rw-r--r--menu.lua3
-rw-r--r--music.lua27
4 files changed, 34 insertions, 0 deletions
diff --git a/assets/music/ROFLmenu.ogg b/assets/music/ROFLmenu.ogg
new file mode 100644
index 0000000..07bcb89
--- /dev/null
+++ b/assets/music/ROFLmenu.ogg
Binary files differ
diff --git a/main.lua b/main.lua
index cb9b1f2..280f5d9 100644
--- a/main.lua
+++ b/main.lua
@@ -5,6 +5,9 @@
-- This is work for scene manager
Scene = nil
function changeScene(scene)
+ if Scene ~= nil then
+ Scene:delete()
+ end
Scene = scene
end
@@ -36,6 +39,7 @@ require "world"
require "camera"
require "menu"
require "controller"
+require "music"
-- Temporary debug
debug = false
diff --git a/menu.lua b/menu.lua
index 96d9fca..52e2fdc 100644
--- a/menu.lua
+++ b/menu.lua
@@ -33,11 +33,14 @@ function Menu:new ()
for i=0,3 do
o:newSelector()
end
+ -- music
+ o.music = Music:new("ROFLmenu.ogg")
return o
end
-- Destructor
function Menu:delete()
+ self.music:delete()
end
-- Naut selector
diff --git a/music.lua b/music.lua
new file mode 100644
index 0000000..1ac26bb
--- /dev/null
+++ b/music.lua
@@ -0,0 +1,27 @@
+-- `Music`
+-- Simple music player object that plays and loops selected track in single Scene.
+
+-- WHOLE CODE HAS FLAG OF "need a cleanup"
+
+-- Metatable of `Music`
+-- nils initialized in constructor
+Music = {
+ track = nil,
+ source = nil
+}
+function Music:new(track)
+ -- Meta
+ local o = {}
+ setmetatable(o, self)
+ self.__index = self
+ -- Init
+ o.track = track
+ o.source = love.audio.newSource("assets/music/" .. o.track)
+ o.source:setLooping(true)
+ o.source:setVolume(.7)
+ o.source:play()
+ return o
+end
+function Music:delete()
+ self.source:stop()
+end \ No newline at end of file