Weeeeee/modules/update_callback.lua

63 lines
1.7 KiB
Lua
Raw Normal View History

2022-03-02 18:36:52 +01:00
local game = {}
2022-03-02 20:31:33 +01:00
local camera = {}
local function updateinit(gamex, camerax)
2022-03-02 18:36:52 +01:00
game = gamex
2022-03-02 20:31:33 +01:00
camera = camerax
2022-03-02 18:36:52 +01:00
end
local function update(dt)
--update player_animation
2022-03-02 19:15:45 +01:00
if spritesheets["player_die"]:getFrame() ~= 16 then
2022-03-02 18:36:52 +01:00
spritesheets["player_die"]:update(dt)
end
if player.alive then
spritesheets["player_jump"]:update(dt)
spritesheets["player_walk_left"]:update(dt)
spritesheets["player_walk_right"]:update(dt)
spritesheets["player_idle"]:update(dt)
spritesheets["player_default"]:update(dt)
end
--get keyboard
local key = love.keyboard.isDown
2022-03-02 19:15:45 +01:00
player:idle(dt)
2022-03-02 18:36:52 +01:00
--move player
if key("d") then
player:walk_right(dt)
elseif key("a") then
player:walk_left(dt)
end
--jump player
if key("w") then
player:jump(dt)
2022-03-02 19:15:45 +01:00
player.speed = player.speed_jumping
else
player.speed = player.speed_walking
2022-03-02 18:36:52 +01:00
end
if game.debug then
if key("s") then
player:down(dt)
2022-03-02 19:15:45 +01:00
player.speed = player.speed_jumping
else
player.speed = player.speed_walking
2022-03-02 18:36:52 +01:00
end
if key("f") then
--die
2022-03-02 19:15:45 +01:00
player.spritesheets["player_die"]:setFrame(1)
2022-03-02 18:36:52 +01:00
player:die(dt)
elseif key("g") then
--revive player
2022-03-02 19:15:45 +01:00
player.spritesheets["player_die"]:setFrame(1)
2022-03-02 18:36:52 +01:00
player:revive(dt)
2022-03-02 20:31:33 +01:00
end
if key("x") then
print("x: \""..player.x.."\"; y: \""..player.y.."\"")
2022-03-02 18:36:52 +01:00
end
end
2022-03-02 20:31:33 +01:00
local dx,dy = (player.x - camera.x) / 2, (player.y - camera.y) / 2
camera:move(dx, dy)
2022-03-02 18:36:52 +01:00
end
return {
update = update,
updateinit = updateinit
}