feat: add sfx for terrains
This commit is contained in:
parent
021a2b08b2
commit
38c197a9fb
7 changed files with 21 additions and 0 deletions
BIN
sonic-radiance.love/assets/sfx/fall.wav
Normal file
BIN
sonic-radiance.love/assets/sfx/fall.wav
Normal file
Binary file not shown.
BIN
sonic-radiance.love/assets/sfx/splash.wav
Normal file
BIN
sonic-radiance.love/assets/sfx/splash.wav
Normal file
Binary file not shown.
|
@ -25,6 +25,7 @@ return {
|
|||
fallDamage = 10,
|
||||
speedFactor = 0,
|
||||
canJump = false,
|
||||
sound = "splash"
|
||||
},
|
||||
{
|
||||
forceAction = nil,
|
||||
|
@ -35,6 +36,7 @@ return {
|
|||
speedFactor = 0.5,
|
||||
canJump = true,
|
||||
damage = 0,
|
||||
sound = "splash"
|
||||
},
|
||||
{
|
||||
forceAction = nil,
|
||||
|
@ -54,6 +56,7 @@ return {
|
|||
fallDamage = 10,
|
||||
speedFactor = 0,
|
||||
canJump = false,
|
||||
sound = "fall"
|
||||
},
|
||||
},
|
||||
lava = {
|
||||
|
@ -63,6 +66,7 @@ return {
|
|||
fallDamage = 20,
|
||||
speedFactor = 0,
|
||||
canJump = false,
|
||||
sound = "splash"
|
||||
},
|
||||
},
|
||||
swamp = {
|
||||
|
|
|
@ -9,6 +9,7 @@ function PlayerHealth:initHealth()
|
|||
self.hpbar:setColorForeground(248/255, 160/255, 0, 1)
|
||||
self.hpbar:setColorBackground(112/255, 0, 0)
|
||||
self.fallDamage = 0
|
||||
self.fallSound = ""
|
||||
end
|
||||
|
||||
function PlayerHealth:drawHealth(x, y)
|
||||
|
|
|
@ -82,6 +82,9 @@ function Player:checkGround()
|
|||
self.x = self.lastPos.x
|
||||
self.y = self.lastPos.y
|
||||
self:takeDamage(self.fallDamage)
|
||||
if (not utils.string.isEmpty(self.fallSound)) then
|
||||
self.assets:playSFX(self.fallSound)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,6 +20,7 @@ function PlayerInteractions:initInteractions()
|
|||
self.terrain = {}
|
||||
self.terrain.name = ""
|
||||
self.terrain.data = {}
|
||||
self.terrain.new = false
|
||||
self.lastPos = {}
|
||||
self.lastPos.x = self.x
|
||||
self.lastPos.y = self.y
|
||||
|
@ -73,6 +74,9 @@ end
|
|||
|
||||
function PlayerInteractions:updateTerrain()
|
||||
local newTerrain = self:getCurrentTerrain()
|
||||
if (newTerrain ~= self.terrain.name) then
|
||||
self.terrain.new = true
|
||||
end
|
||||
self.terrain.name = newTerrain
|
||||
self:updateTerrainData()
|
||||
if (newTerrain == "non-solid") then
|
||||
|
@ -132,7 +136,14 @@ function PlayerInteractions:setTerrainData(data)
|
|||
self.canAct = data.canAct ~= false
|
||||
self.forceAction = data.forceAction
|
||||
end
|
||||
if (self.terrain.new and (self.z < 0)) then
|
||||
self.terrain.new = false
|
||||
if (not utils.string.isEmpty(data.sound)) then
|
||||
self.assets:playSFX(data.sound)
|
||||
end
|
||||
end
|
||||
self.fallDamage = data.fallDamage or 0
|
||||
self.fallSound = data.fallSound or ""
|
||||
self.terrain.data = data
|
||||
end
|
||||
|
||||
|
|
|
@ -54,6 +54,8 @@ return {
|
|||
{"spinrelease", "assets/sfx/spinrelease.wav"},
|
||||
{"ring", "assets/sfx/ring.wav"},
|
||||
{"pop", "assets/sfx/pop.wav"},
|
||||
{"fall", "assets/sfx/fall.wav"},
|
||||
{"splash", "assets/sfx/splash.wav"},
|
||||
|
||||
{"mBack", "assets/sfx/menus/back.wav"},
|
||||
{"mBeep", "assets/sfx/menus/beep.wav"},
|
||||
|
|
Loading…
Reference in a new issue