mvp
This commit is contained in:
parent
61b773ac6d
commit
c402593a34
6 changed files with 77 additions and 53 deletions
BIN
src/img/player.png
Normal file
BIN
src/img/player.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.2 KiB |
89
src/main.lua
89
src/main.lua
|
@ -24,34 +24,32 @@ local playerSprite = nil
|
|||
-- A function to set up our game environment.
|
||||
|
||||
function myGameSetUp()
|
||||
-- Set up the player sprite.
|
||||
|
||||
-- Set up the player sprite.
|
||||
local playerImage = gfx.image.new("img/player.png")
|
||||
assert(playerImage) -- make sure the image was where we thought
|
||||
|
||||
local playerImage = gfx.image.new("Images/playerImage")
|
||||
assert( playerImage ) -- make sure the image was where we thought
|
||||
playerSprite = gfx.sprite.new(playerImage)
|
||||
playerSprite:moveTo(200, 120) -- this is where the center of the sprite is placed; (200,120) is the center of the Playdate screen
|
||||
playerSprite:add() -- This is critical!
|
||||
|
||||
playerSprite = gfx.sprite.new( playerImage )
|
||||
playerSprite:moveTo( 200, 120 ) -- this is where the center of the sprite is placed; (200,120) is the center of the Playdate screen
|
||||
playerSprite:add() -- This is critical!
|
||||
-- We want an environment displayed behind our sprite.
|
||||
-- There are generally two ways to do this:
|
||||
-- 1) Use setBackgroundDrawingCallback() to draw a background image. (This is what we're doing below.)
|
||||
-- 2) Use a tilemap, assign it to a sprite with sprite:setTilemap(tilemap),
|
||||
-- and call :setZIndex() with some low number so the background stays behind
|
||||
-- your other sprites.
|
||||
|
||||
-- We want an environment displayed behind our sprite.
|
||||
-- There are generally two ways to do this:
|
||||
-- 1) Use setBackgroundDrawingCallback() to draw a background image. (This is what we're doing below.)
|
||||
-- 2) Use a tilemap, assign it to a sprite with sprite:setTilemap(tilemap),
|
||||
-- and call :setZIndex() with some low number so the background stays behind
|
||||
-- your other sprites.
|
||||
|
||||
local backgroundImage = gfx.image.new( "Images/background" )
|
||||
assert( backgroundImage )
|
||||
|
||||
gfx.sprite.setBackgroundDrawingCallback(
|
||||
function( x, y, width, height )
|
||||
-- x,y,width,height is the updated area in sprite-local coordinates
|
||||
-- The clip rect is already set to this area, so we don't need to set it ourselves
|
||||
backgroundImage:draw( 0, 0 )
|
||||
end
|
||||
)
|
||||
-- local backgroundImage = gfx.image.new("Images/background")
|
||||
-- assert(backgroundImage)
|
||||
|
||||
-- gfx.sprite.setBackgroundDrawingCallback(
|
||||
-- function(x, y, width, height)
|
||||
-- -- x,y,width,height is the updated area in sprite-local coordinates
|
||||
-- -- The clip rect is already set to this area, so we don't need to set it ourselves
|
||||
-- backgroundImage:draw(0, 0)
|
||||
-- end
|
||||
-- )
|
||||
end
|
||||
|
||||
-- Now we'll call the function above to configure our game.
|
||||
|
@ -65,31 +63,28 @@ myGameSetUp()
|
|||
-- Use this function to poll input, run game logic, and move sprites.
|
||||
|
||||
function playdate.update()
|
||||
-- Poll the d-pad and move our player accordingly.
|
||||
-- (There are multiple ways to read the d-pad; this is the simplest.)
|
||||
-- Note that it is possible for more than one of these directions
|
||||
-- to be pressed at once, if the user is pressing diagonally.
|
||||
|
||||
-- Poll the d-pad and move our player accordingly.
|
||||
-- (There are multiple ways to read the d-pad; this is the simplest.)
|
||||
-- Note that it is possible for more than one of these directions
|
||||
-- to be pressed at once, if the user is pressing diagonally.
|
||||
if playdate.buttonIsPressed(playdate.kButtonUp) then
|
||||
playerSprite:moveBy(0, -2)
|
||||
end
|
||||
if playdate.buttonIsPressed(playdate.kButtonRight) then
|
||||
playerSprite:moveBy(2, 0)
|
||||
end
|
||||
if playdate.buttonIsPressed(playdate.kButtonDown) then
|
||||
playerSprite:moveBy(0, 2)
|
||||
end
|
||||
if playdate.buttonIsPressed(playdate.kButtonLeft) then
|
||||
playerSprite:moveBy(-2, 0)
|
||||
end
|
||||
|
||||
if playdate.buttonIsPressed( playdate.kButtonUp ) then
|
||||
playerSprite:moveBy( 0, -2 )
|
||||
end
|
||||
if playdate.buttonIsPressed( playdate.kButtonRight ) then
|
||||
playerSprite:moveBy( 2, 0 )
|
||||
end
|
||||
if playdate.buttonIsPressed( playdate.kButtonDown ) then
|
||||
playerSprite:moveBy( 0, 2 )
|
||||
end
|
||||
if playdate.buttonIsPressed( playdate.kButtonLeft ) then
|
||||
playerSprite:moveBy( -2, 0 )
|
||||
end
|
||||
|
||||
-- Call the functions below in playdate.update() to draw sprites and keep
|
||||
-- timers updated. (We aren't using timers in this example, but in most
|
||||
-- average-complexity games, you will.)
|
||||
|
||||
gfx.sprite.update()
|
||||
playdate.timer.updateTimers()
|
||||
-- Call the functions below in playdate.update() to draw sprites and keep
|
||||
-- timers updated. (We aren't using timers in this example, but in most
|
||||
-- average-complexity games, you will.)
|
||||
|
||||
gfx.sprite.update()
|
||||
playdate.timer.updateTimers()
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue