added player to editor
This commit is contained in:
parent
c5a2a585cb
commit
4d475547d5
7 changed files with 71 additions and 15 deletions
|
@ -18,9 +18,6 @@ local imgtiles = gfx.sprite.new(tilemapEditor)
|
|||
local w, h = imgtiles:getSize()
|
||||
imgtiles:moveTo(w/2,h/2)
|
||||
|
||||
local position = {x=100,y=100}
|
||||
local positionLerp = {x=0,y=0}
|
||||
|
||||
local bool2int = {[true]=1,[false]=0}
|
||||
local menu = playdate.getSystemMenu()
|
||||
local toolTipButton
|
||||
|
@ -35,18 +32,33 @@ local imgLine = gfx.image.new("gfx/line")
|
|||
local imgSpin = gfx.image.new("gfx/spin")
|
||||
local imgCursor = gfx.image.new("gfx/cursor2")
|
||||
local imgCant = gfx.image.new("gfx/nothing")
|
||||
assert(imgSwitch)
|
||||
local imgSquare = gfx.image.new("gfx/square")
|
||||
local imgRocket = gfx.image.new("gfx/start")
|
||||
local imgExit = gfx.image.new("gfx/exit")
|
||||
local imgEye = gfx.image.new("gfx/eye")
|
||||
local imgPlayer = gfx.image.new("gfx/rocket")
|
||||
local imgPlayerExit = gfx.image.new("gfx/bigrocket")
|
||||
assert(imgFloppy)
|
||||
assert(imgAdd)
|
||||
assert(imgMus)
|
||||
assert(imgLine)
|
||||
assert(imgSpin)
|
||||
assert(imgCursor)
|
||||
assert(imgSquare)
|
||||
assert(imgRocket)
|
||||
assert(imgEye)
|
||||
assert(imgPlayer)
|
||||
assert(imgPlayerExit)
|
||||
|
||||
local animFloppy = gfx.animation.loop.new(100, imgFloppy)
|
||||
|
||||
local saveTime = 0
|
||||
|
||||
local playerPos = {x=100,y=100}
|
||||
local exitPos = {x = 105, y = 100}
|
||||
local position = {x=100,y=100}
|
||||
local positionLerp = {x=0,y=0}
|
||||
|
||||
function newProject()
|
||||
mode = "newproj"
|
||||
playdate.keyboard.show("NEW LEVEL")
|
||||
|
@ -59,8 +71,9 @@ function updateNewproj()
|
|||
end
|
||||
|
||||
function editLoadName(name)
|
||||
position = {x=100,y=100}
|
||||
local data = json.decodeFile("levels/"..name)
|
||||
playerPos = {x = data.rocket.x, y = data.rocket.y}
|
||||
position = {x = data.rocket.x, y = data.rocket.y}
|
||||
levelname = name:match("(.+)%..+$")
|
||||
inverted = data.inverted
|
||||
printTable(data)
|
||||
|
@ -95,7 +108,8 @@ function playdate.keyboard.keyboardWillHideCallback(ok)
|
|||
playdate.wait(0.3)
|
||||
editLoad()
|
||||
else
|
||||
position = {x=100,y=100}
|
||||
position = {x=89,y=93}
|
||||
playerPos = {x=100,y=100}
|
||||
for tile = 1, #tiles, 1 do
|
||||
tilemapEditor:setTileAtPosition(tiles[tile].x,tiles[tile].y,0)
|
||||
end
|
||||
|
@ -135,7 +149,7 @@ local curYlerp = -32
|
|||
function editSave()
|
||||
playdate.datastore.delete("levels/"..levelname..".json")
|
||||
saveTime = 5
|
||||
playdate.datastore.write({tiles = tiles, inverted = inverted},"levels/"..levelname)
|
||||
playdate.datastore.write({tiles = tiles, inverted = inverted, rocket=playerPos},"levels/"..levelname)
|
||||
end
|
||||
|
||||
function editUpdate()
|
||||
|
@ -161,6 +175,12 @@ function editUpdate()
|
|||
tilemapEditor:setTileAtPosition(position.x+12,position.y+8,2)
|
||||
tiles[#tiles+1] = {x=position.x + 12, y=position.y + 8, t=2}
|
||||
imgtiles = gfx.sprite.new(tilemapEditor)
|
||||
elseif math.floor(tileIndex) == 4 then
|
||||
playerPos = {x = position.x + 11, y = position.y + 7}
|
||||
elseif math.floor(tileIndex) == 5 then
|
||||
exitPos = {x = position.x + 11, y = position.y + 7}
|
||||
elseif math.floor(tileIndex) == 7 then
|
||||
editor = "view"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -177,6 +197,9 @@ function editUpdate()
|
|||
end
|
||||
imgtiles = gfx.sprite.new(tilemapEditor)
|
||||
end
|
||||
elseif editor == "view" then
|
||||
editor = "main"
|
||||
tileIndex = 7.5
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -200,9 +223,16 @@ function editUpdate()
|
|||
gfx.setDrawOffset(-positionLerp.x, -positionLerp.y)
|
||||
|
||||
imgtiles:update()
|
||||
imgCursor:draw((position.x + 11) * 16, (position.y + 7) * 16)
|
||||
--gfx.setColor(playdate.graphics.kColorXOR)
|
||||
--gfx.fillRect((position.x + 11) * 16, (position.y + 7) * 16,16,16)
|
||||
imgPlayer:draw((playerPos.x * 16) + 2,playerPos.y * 16)
|
||||
imgPlayerExit:draw(exitPos.x * 16, exitPos.y * 16)
|
||||
|
||||
if editor ~= "view" then
|
||||
imgCursor:draw((position.x + 11) * 16, (position.y + 7) * 16)
|
||||
end
|
||||
--[[
|
||||
gfx.setColor(playdate.graphics.kColorXOR)
|
||||
gfx.fillRect(((position.x + 11) * 16) + 3, ((position.y + 7) * 16) + 3,10,10)
|
||||
]]
|
||||
if position.y < 1 then
|
||||
imgCant:drawTiled((position.x-1) * 16,-112,400,112)
|
||||
end
|
||||
|
@ -211,6 +241,7 @@ function editUpdate()
|
|||
end
|
||||
|
||||
-- draw ui/
|
||||
if editor ~= "view" then
|
||||
gfx.setDrawOffset(0,0)
|
||||
gfx.setColor(gfx.kColorBlack)
|
||||
gfx.fillRect(362,0,400,240)
|
||||
|
@ -220,15 +251,39 @@ function editUpdate()
|
|||
|
||||
-- draw changes
|
||||
if editor == "main" then
|
||||
imgMus:draw(366, 128)
|
||||
imgMus:draw(366, 176)
|
||||
imgAdd:draw(366,8)
|
||||
imgLine:draw(366,36)
|
||||
imgSpin:draw(366,64)
|
||||
imgLine:draw(366,64)
|
||||
imgSpin:draw(366,92)
|
||||
imgSquare:draw(366,36)
|
||||
imgRocket:draw(366, 120)
|
||||
imgExit:draw(366,148)
|
||||
imgEye:draw(366,204)
|
||||
|
||||
if math.floor( tileIndex ) == 0 then
|
||||
gfx.drawText("TILES",0,0)
|
||||
elseif math.floor( tileIndex ) == 1 then
|
||||
gfx.drawText("FUEL",0,0)
|
||||
elseif math.floor( tileIndex ) == 2 then
|
||||
gfx.drawText("MOVERS",0,0)
|
||||
elseif math.floor( tileIndex ) == 3 then
|
||||
gfx.drawText("SPINNERS",0,0)
|
||||
elseif math.floor( tileIndex ) == 4 then
|
||||
gfx.drawText("PLAYER",0,0)
|
||||
elseif math.floor( tileIndex ) == 5 then
|
||||
gfx.drawText("EXIT",0,0)
|
||||
elseif math.floor( tileIndex ) == 6 then
|
||||
gfx.drawText("MUSIC",0,0)
|
||||
elseif math.floor( tileIndex ) == 7 then
|
||||
gfx.drawText("VIEW",0,0)
|
||||
end
|
||||
end
|
||||
|
||||
gfx.setColor(playdate.graphics.kColorXOR)
|
||||
gfx.fillRect(365,curYlerp,33,28)
|
||||
|
||||
end
|
||||
|
||||
if saveTime > 0 then
|
||||
saveTime -= 0.1
|
||||
animFloppy:draw(2,2)
|
||||
|
|
|
@ -112,6 +112,7 @@ function playdate.gameWillTerminate()
|
|||
end
|
||||
|
||||
function playdate.debugDraw()
|
||||
gfx.setDrawOffset(0,0)
|
||||
playdate.drawFPS(0,228)
|
||||
small:drawText(math.floor( playdate.getCrankPosition() ), 0, 218)
|
||||
end
|
|
@ -1 +1 @@
|
|||
{"bigrocket":{"x":73.333333,"y":144.79638},"song":"song5","next":"data/level2.rocketbyte","fuel":[{"x":73.333333,"y":100}],"dimensions":{"x":22,"y":17},"rocket":{"x":276.27907,"y":144.651163},"tiles":[{"t":2,"x":2,"y":1},{"t":2,"x":14,"y":1},{"t":2,"x":14,"y":5},{"t":2,"x":22,"y":5},{"t":2,"x":8,"y":6},{"t":2,"x":2,"y":12},{"t":2,"x":8,"y":12},{"t":2,"x":11,"y":12},{"t":2,"x":14,"y":12},{"t":2,"x":8,"y":17},{"t":2,"x":22,"y":17},{"t":3,"x":3,"y":1},{"t":3,"x":4,"y":1},{"t":3,"x":5,"y":1},{"t":3,"x":6,"y":1},{"t":3,"x":7,"y":1},{"t":3,"x":8,"y":1},{"t":3,"x":9,"y":1},{"t":3,"x":10,"y":1},{"t":3,"x":11,"y":1},{"t":3,"x":12,"y":1},{"t":3,"x":13,"y":1},{"t":3,"x":15,"y":5},{"t":3,"x":16,"y":5},{"t":3,"x":17,"y":5},{"t":3,"x":18,"y":5},{"t":3,"x":19,"y":5},{"t":3,"x":20,"y":5},{"t":3,"x":21,"y":5},{"t":3,"x":3,"y":12},{"t":3,"x":4,"y":12},{"t":3,"x":5,"y":12},{"t":3,"x":6,"y":12},{"t":3,"x":7,"y":12},{"t":3,"x":9,"y":12},{"t":3,"x":10,"y":12},{"t":3,"x":9,"y":17},{"t":3,"x":10,"y":17},{"t":3,"x":11,"y":17},{"t":3,"x":12,"y":17},{"t":3,"x":13,"y":17},{"t":3,"x":14,"y":17},{"t":3,"x":15,"y":17},{"t":3,"x":16,"y":17},{"t":3,"x":17,"y":17},{"t":3,"x":18,"y":17},{"t":3,"x":19,"y":17},{"t":3,"x":20,"y":17},{"t":3,"x":21,"y":17},{"t":4,"x":2,"y":2},{"t":4,"x":14,"y":2},{"t":4,"x":2,"y":3},{"t":4,"x":14,"y":3},{"t":4,"x":2,"y":4},{"t":4,"x":14,"y":4},{"t":4,"x":2,"y":5},{"t":4,"x":2,"y":6},{"t":4,"x":14,"y":6},{"t":4,"x":22,"y":6},{"t":4,"x":2,"y":7},{"t":4,"x":8,"y":7},{"t":4,"x":14,"y":7},{"t":4,"x":22,"y":7},{"t":4,"x":2,"y":8},{"t":4,"x":8,"y":8},{"t":4,"x":14,"y":8},{"t":4,"x":22,"y":8},{"t":4,"x":2,"y":9},{"t":4,"x":8,"y":9},{"t":4,"x":14,"y":9},{"t":4,"x":22,"y":9},{"t":4,"x":2,"y":10},{"t":4,"x":8,"y":10},{"t":4,"x":14,"y":10},{"t":4,"x":22,"y":10},{"t":4,"x":2,"y":11},{"t":4,"x":8,"y":11},{"t":4,"x":14,"y":11},{"t":4,"x":22,"y":11},{"t":4,"x":22,"y":12},{"t":4,"x":8,"y":13},{"t":4,"x":22,"y":13},{"t":4,"x":8,"y":14},{"t":4,"x":22,"y":14},{"t":4,"x":8,"y":15},{"t":4,"x":22,"y":15},{"t":4,"x":8,"y":16},{"t":4,"x":22,"y":16}]}
|
||||
{"bigrocket":{"x":73.333333,"y":144.79638},"song":"song6","next":"data/level2.rocketbyte","fuel":[{"x":73.333333,"y":100}],"dimensions":{"x":22,"y":17},"rocket":{"x":276.27907,"y":144.651163},"tiles":[{"t":2,"x":2,"y":1},{"t":2,"x":14,"y":1},{"t":2,"x":14,"y":5},{"t":2,"x":22,"y":5},{"t":2,"x":8,"y":6},{"t":2,"x":2,"y":12},{"t":2,"x":8,"y":12},{"t":2,"x":11,"y":12},{"t":2,"x":14,"y":12},{"t":2,"x":8,"y":17},{"t":2,"x":22,"y":17},{"t":3,"x":3,"y":1},{"t":3,"x":4,"y":1},{"t":3,"x":5,"y":1},{"t":3,"x":6,"y":1},{"t":3,"x":7,"y":1},{"t":3,"x":8,"y":1},{"t":3,"x":9,"y":1},{"t":3,"x":10,"y":1},{"t":3,"x":11,"y":1},{"t":3,"x":12,"y":1},{"t":3,"x":13,"y":1},{"t":3,"x":15,"y":5},{"t":3,"x":16,"y":5},{"t":3,"x":17,"y":5},{"t":3,"x":18,"y":5},{"t":3,"x":19,"y":5},{"t":3,"x":20,"y":5},{"t":3,"x":21,"y":5},{"t":3,"x":3,"y":12},{"t":3,"x":4,"y":12},{"t":3,"x":5,"y":12},{"t":3,"x":6,"y":12},{"t":3,"x":7,"y":12},{"t":3,"x":9,"y":12},{"t":3,"x":10,"y":12},{"t":3,"x":9,"y":17},{"t":3,"x":10,"y":17},{"t":3,"x":11,"y":17},{"t":3,"x":12,"y":17},{"t":3,"x":13,"y":17},{"t":3,"x":14,"y":17},{"t":3,"x":15,"y":17},{"t":3,"x":16,"y":17},{"t":3,"x":17,"y":17},{"t":3,"x":18,"y":17},{"t":3,"x":19,"y":17},{"t":3,"x":20,"y":17},{"t":3,"x":21,"y":17},{"t":4,"x":2,"y":2},{"t":4,"x":14,"y":2},{"t":4,"x":2,"y":3},{"t":4,"x":14,"y":3},{"t":4,"x":2,"y":4},{"t":4,"x":14,"y":4},{"t":4,"x":2,"y":5},{"t":4,"x":2,"y":6},{"t":4,"x":14,"y":6},{"t":4,"x":22,"y":6},{"t":4,"x":2,"y":7},{"t":4,"x":8,"y":7},{"t":4,"x":14,"y":7},{"t":4,"x":22,"y":7},{"t":4,"x":2,"y":8},{"t":4,"x":8,"y":8},{"t":4,"x":14,"y":8},{"t":4,"x":22,"y":8},{"t":4,"x":2,"y":9},{"t":4,"x":8,"y":9},{"t":4,"x":14,"y":9},{"t":4,"x":22,"y":9},{"t":4,"x":2,"y":10},{"t":4,"x":8,"y":10},{"t":4,"x":14,"y":10},{"t":4,"x":22,"y":10},{"t":4,"x":2,"y":11},{"t":4,"x":8,"y":11},{"t":4,"x":14,"y":11},{"t":4,"x":22,"y":11},{"t":4,"x":22,"y":12},{"t":4,"x":8,"y":13},{"t":4,"x":22,"y":13},{"t":4,"x":8,"y":14},{"t":4,"x":22,"y":14},{"t":4,"x":8,"y":15},{"t":4,"x":22,"y":15},{"t":4,"x":8,"y":16},{"t":4,"x":22,"y":16}]}
|
BIN
Source/gfx/exit.png
Normal file
BIN
Source/gfx/exit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 246 B |
BIN
Source/gfx/eye.png
Normal file
BIN
Source/gfx/eye.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 215 B |
BIN
Source/gfx/start.png
Normal file
BIN
Source/gfx/start.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 230 B |
|
@ -5,4 +5,4 @@ bundleID=com.PossiblyAxolotl.RocketBytes
|
|||
version=DEV
|
||||
buildNumber=1
|
||||
imagePath=launcher
|
||||
contentWarning=This game requires extremely precise and quick crank movement.
|
||||
contentWarning=This game requires extremely precise and quick movement of the crank.
|
Loading…
Reference in a new issue