add sound effects
This commit is contained in:
parent
5dbf8ce1d0
commit
0d8c45e621
BIN
game/love_src/asset/audio/sfx/race/va/Test2.mp3
Normal file
BIN
game/love_src/asset/audio/sfx/race/va/Test2.mp3
Normal file
Binary file not shown.
BIN
game/love_src/asset/audio/sfx/race/va/Test3.mp3
Normal file
BIN
game/love_src/asset/audio/sfx/race/va/Test3.mp3
Normal file
Binary file not shown.
BIN
game/love_src/asset/audio/sfx/race/va/test1.mp3
Normal file
BIN
game/love_src/asset/audio/sfx/race/va/test1.mp3
Normal file
Binary file not shown.
@ -32,6 +32,8 @@ function world:load(entity, data)
|
||||
self.data = data or default
|
||||
self.data.temp_color = self.data.bg_color
|
||||
self.mouse = "not click"
|
||||
self.sfx_highlight = love.audio.newSource("love_src/asset/audio/sfx/book_flip.4.ogg", "static")
|
||||
self.sfx_click = love.audio.newSource("love_src/asset/audio/sfx/book_flip.8.ogg", "static")
|
||||
end
|
||||
|
||||
-- x1 y1 -- (x1 + w1) y1
|
||||
@ -59,6 +61,16 @@ local function transform(x, y, w, h, ox, oy,lox, loy, s)
|
||||
return x, y, w, h, ox, oy, lox, loy
|
||||
end
|
||||
|
||||
function world:highlight()
|
||||
self.data.temp_color = self.data.highlight_color
|
||||
self.sfx_highlight:play()
|
||||
end
|
||||
|
||||
function world:click()
|
||||
self.data.func()
|
||||
self.sfx_click:play()
|
||||
end
|
||||
|
||||
function world:update(dt)
|
||||
local xm, ym = love.mouse.getPosition()
|
||||
local x, y, w, h, ox, oy, lox, loy, s = self.data.pos[1], self.data.pos[2],
|
||||
@ -68,7 +80,7 @@ function world:update(dt)
|
||||
self.data.scale
|
||||
x, y, w, h, ox, oy, lox, loy = transform(x, y, w, h, ox, oy, lox, loy, s)
|
||||
if (is_inside(x, y, w, h, xm, ym)) then
|
||||
self.data.temp_color = self.data.highlight_color
|
||||
self:highlight()
|
||||
if (love.mouse.isDown(1)) then
|
||||
if (self.mouse == "not click") then
|
||||
self.mouse = "click"
|
||||
@ -76,7 +88,7 @@ function world:update(dt)
|
||||
else
|
||||
if (self.mouse == "click") then
|
||||
self.mouse = "not click"
|
||||
self.data.func()
|
||||
self:click()
|
||||
end
|
||||
end
|
||||
else
|
||||
|
||||
@ -107,12 +107,35 @@ function world:load(data, entities_data)
|
||||
self:setup()
|
||||
end
|
||||
|
||||
local phases = {
|
||||
intro = {
|
||||
is_played = false,
|
||||
source = love.audio.newSource("love_src/asset/audio/sfx/race/va/test1.mp3", "static"),
|
||||
},
|
||||
mid = {
|
||||
is_played = false,
|
||||
source = love.audio.newSource("love_src/asset/audio/sfx/race/va/Test2.mp3", "static"),
|
||||
},
|
||||
ed = {
|
||||
is_played = false,
|
||||
source = love.audio.newSource("love_src/asset/audio/sfx/race/va/Test3.mp3", "static")
|
||||
}
|
||||
}
|
||||
|
||||
local phase = "intro"
|
||||
|
||||
function world:update(dt)
|
||||
for _, e in ipairs(self.entities) do
|
||||
for t, c in pairs(e.components) do
|
||||
c:update(dt)
|
||||
end
|
||||
end
|
||||
if (phases[phase]) then
|
||||
if (not phases[phase].source:isPlaying() and not phases[phase].is_played) then
|
||||
phases[phase].source:play()
|
||||
phases[phase].is_played = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function world:draw()
|
||||
|
||||
@ -227,10 +227,12 @@ local world_data = {
|
||||
|
||||
current = wm["main_menu"]
|
||||
|
||||
local bgm = love.audio.newSource("love_src/asset/audio/bgm/Ensemble.mp3", "stream")
|
||||
bgm:setLooping(true)
|
||||
bgm:play()
|
||||
|
||||
function load_world(world_to_load)
|
||||
print(current)
|
||||
current = world_to_load
|
||||
print(current)
|
||||
local c_w = world_data[current]
|
||||
world[current] = c_w.world
|
||||
world[current]:load(c_w.data, c_w.entities_data)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user