80 lines
1.6 KiB
Lua
80 lines
1.6 KiB
Lua
require "Tserial"
|
|
|
|
function move(direction)
|
|
|
|
end
|
|
|
|
|
|
|
|
function love.load()
|
|
|
|
love.filesystem.setIdentity("tommy")
|
|
saveFile = "test.lua"
|
|
|
|
-- Check if Save file exists
|
|
save_exists = love.filesystem.exists(saveFile)
|
|
|
|
player = {}
|
|
|
|
player.x = 100
|
|
player.y = 100
|
|
player.w = 25
|
|
player.h = 25
|
|
player.speed = 100
|
|
player.current_speed = 0
|
|
--Must be less than 1
|
|
player.accel = 1/16
|
|
end
|
|
|
|
function love.keyreleased(key)
|
|
if key == "q" then
|
|
love.event.quit()
|
|
end
|
|
|
|
-- save
|
|
if key == "s" then
|
|
love.filesystem.write(saveFile, Tserial.pack(player, false, true))
|
|
end
|
|
|
|
-- Load
|
|
if key == "l" then
|
|
if save_exists then
|
|
player = Tserial.unpack( love.filesystem.read( saveFile ) )
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
function love.update(dt)
|
|
|
|
--Move character left or right
|
|
if love.keyboard.isDown("right") then
|
|
-- with acceleration
|
|
if player.current_speed < player.speed then
|
|
player.current_speed = player.current_speed + (player.speed*player.accel)
|
|
end
|
|
player.x = player.x + player.current_speed*dt
|
|
|
|
elseif love.keyboard.isDown("left") then
|
|
player.x = player.x - player.speed*dt
|
|
|
|
--Reset current speed if key is released
|
|
elseif not love.keyboard.isDown("right") then
|
|
player.current_speed = 0
|
|
end
|
|
|
|
--Also able to move or up down at the same time as one of the above
|
|
if love.keyboard.isDown("up") then
|
|
player.y = player.y - player.speed*dt
|
|
elseif love.keyboard.isDown ("down") then
|
|
player.y = player.y + player.speed*dt
|
|
end
|
|
|
|
end
|
|
|
|
function love.draw()
|
|
--draw the rectangle. Fill/line for the type,
|
|
--(x,y, width, height)
|
|
love.graphics.rectangle("line", player.x, player.y, player.w, player.h)
|
|
end
|