I dont fucking know how to solve this shit i hate git #3

Merged
lustlion merged 11 commits from :master into master 2022-01-18 20:20:36 +00:00
2 changed files with 45 additions and 18 deletions
Showing only changes of commit da8b9004b4 - Show all commits

View File

@ -73,16 +73,16 @@ function Player:Smart()
if math.abs(self.vel.x) < self.zeroSpeed then self.vel.x = 0 end
if keybind:Check(keybind.moveLeft) then
if Keybind:Check(Keybind.move.left) then
self.move_x = -self.moveSpeed
elseif keybind:Check(keybind.moveRight) then
elseif Keybind:Check(Keybind.move.right) then
self.move_x = self.moveSpeed
else
self.move_x = 0
end
self.vel.x = self.vel.x
if keybind:Check(keybind.moveJump) then
if Keybind:Check(Keybind.move.jump) then
if self.isOnGround then
self.vel.y = -self.jumpImpulse
end
@ -90,18 +90,18 @@ function Player:Smart()
end
self.dashCooldownTimer = math.max(0,self.dashCooldownTimer - current_dt)
if keybind:Check(keybind.moveDash) then
if Keybind:Check(Keybind.move.dash) then
if self.dashCooldownTimer == 0
and not self.isDashing
and self.dashCount > 0 then
self.dashCount = self.dashCount - 1
self.isDashing = true
local vertical = 0
if keybind:Check(keybind.moveDown) then vertical = vertical + 1 end
if keybind:Check(keybind.moveUp) then vertical = vertical - 1 end
if Keybind:Check(Keybind.move.down) then vertical = vertical + 1 end
if Keybind:Check(Keybind.move.up) then vertical = vertical - 1 end
local horizontal = 0
if keybind:Check(keybind.moveRight) then horizontal = horizontal + 1 end
if keybind:Check(keybind.moveLeft) then horizontal = horizontal - 1 end
if Keybind:Check(Keybind.move.right) then horizontal = horizontal + 1 end
if Keybind:Check(Keybind.move.left) then horizontal = horizontal - 1 end
if horizontal == 0 and vertical == 0 then
horizontal = self.sprite_flip.x

View File

@ -1,7 +1,9 @@
keybind = {}
Keybind = {}
Keybind.move = {}
Keybind.menu = {}
function keybind:Check(key)
for _, keyname in pairs(key) do
function Keybind:Check(action)
for _, keyname in pairs(action) do
if type(keyname) == "string" then
if love.keyboard.isDown(keyname) then return true end
else
@ -11,11 +13,36 @@ function keybind:Check(key)
return false
end
function Keybind:Colision(cat, key)
for _, action in pairs(cat) do
for _, keyname in pairs(action) do
if key == keyname then return true end
end
end
return false
end
keybind.moveLeft = {"left", "a"}
keybind.moveRight = {"right", "d"}
keybind.moveUp = {"up", "w"}
keybind.moveDown = {"down", "s"}
keybind.moveJump = {"z", "space"}
keybind.moveAttack = {"x", 1}
keybind.moveDash = {"c", 2}
function Keybind:Add(action, key)
table.insert(action, key)
end
function Keybind:Change(action, position, key)
action[position] = key
end
function Keybind:Remove(action)
action = {}
end
function Keybind:Default()
Keybind.move.left = {"left", "a"}
Keybind.move.right = {"right", "d"}
Keybind.move.up = {"up", "w"}
Keybind.move.down = {"down", "s"}
Keybind.move.jump = {"z", "space"}
Keybind.move.attack = {"x", 1}
Keybind.move.dash = {"c", 2}
end
-- Set default values at start
Keybind:Default()