[NEW] Implementada pausa

[FIX] Corregit un segon arranc de partida
[NEW] Afegida controller:keypressed
This commit is contained in:
2026-05-15 23:05:26 +02:00
parent d732269d49
commit 2e9883e622
5 changed files with 172 additions and 1 deletions
+88
View File
@@ -59,6 +59,8 @@ function controller:check(action)
elseif action=="jump" then
result = key.down(keyJump) or pad.down(btnJump)
elseif action=="shoot" then
-- No gaste key.press perque no vull "metralleta"
-- s'obliga a alçar la pulsació
result = key.down(keyShoot) or pad.down(btnShoot)
if result then
if self.keysdown[keyShoot] then
@@ -92,4 +94,90 @@ function controller:key_release(keyid)
return true
end
return false
end
function controller:onKeyUp(action)
local resultKey = false
local resultPad = false
local keyDown = false
local buttDown = false
local keyid = nil
local buttid = nil
action = string.upper(action)
if action=="UP" then
keyid = keyUp
buttid = btnUp
elseif action=="DOWN" then
keyid = keyDown
buttid = btnDown
elseif action=="LEFT" then
keyid = keyLeft
buttid = btnLeft
elseif action=="RIGHT" then
keyid = keyRight
buttid = btnRight
elseif action=="JUMP" then
keyid = keyJump
buttid = btnJump
elseif action=="SHOOT" then
keyid = keyShoot
buttid = btnShoot
elseif action=="ESC" then
keyid = key
buttid = btn
end
if keyid~=nil then resultKey = key.down(keyid) end
if buttid~=nil then resultButt = pad.down(buttid) end
result = resultKey or resultPad
if result then
if keyid~=nil then keyDown = self.keysdown[keyid] end
if buttid~=nil then buttDown = self.keysdown[buttid] end
result = true
if keyDown or buttDown then result = false end
-- self.keysdown[keyid] = true
if keyid~=nil then self.keysdown[keyid]=true end
if buttid~=nil then self.keysdown[buttid]=true end
else
-- self.keysdown[keyid] = false
if keyid~=nil then self.keysdown[keyid]=false end
if buttid~=nil then self.keysdown[buttid]=false end
end
return result
end
function controller:keypressed(action)
action = string.upper(action)
if action=="UP" then
keyid = keyUp
buttid = btnUp
elseif action=="DOWN" then
keyid = keyDown
buttid = btnDown
elseif action=="LEFT" then
keyid = keyLeft
buttid = btnLeft
elseif action=="RIGHT" then
keyid = keyRight
buttid = btnRight
elseif action=="JUMP" then
keyid = keyJump
buttid = btnJump
elseif action=="SHOOT" then
keyid = keyShoot
buttid = btnShoot
elseif action=="ESC" then
keyid = key.ESCAPE
buttid = btnPause
end
return key.press(keyid) or pad.press(buttid)
end