editor places tiles
This commit is contained in:
parent
cdfec95084
commit
9ff93fdf2e
14 changed files with 144 additions and 38 deletions
|
@ -5,19 +5,39 @@ local gfx <const> = playdate.graphics
|
||||||
local prevtext = ""
|
local prevtext = ""
|
||||||
gfx.setLineWidth(5)
|
gfx.setLineWidth(5)
|
||||||
|
|
||||||
|
local tileTable <const> = gfx.imagetable.new("gfx/tiles")
|
||||||
|
local tilemapEditor = gfx.tilemap.new()
|
||||||
|
tilemapEditor:setImageTable(tileTable)
|
||||||
|
local tiles = {}
|
||||||
|
|
||||||
|
tilemapEditor:setSize(10,10)
|
||||||
|
local imgtiles = gfx.sprite.new(tilemapEditor)
|
||||||
|
local w, h = imgtiles:getSize()
|
||||||
|
imgtiles:moveTo(w/2,h/2)
|
||||||
|
|
||||||
local position = {x=0,y=0}
|
local position = {x=0,y=0}
|
||||||
|
local positionLerp = {x=0,y=0}
|
||||||
|
|
||||||
local bool2int = {[true]=1,[false]=0}
|
local bool2int = {[true]=1,[false]=0}
|
||||||
|
local menu = playdate.getSystemMenu()
|
||||||
|
local toolTipButton, error
|
||||||
|
|
||||||
|
local editor = "main"
|
||||||
|
|
||||||
local imgSwitch = gfx.imagetable.new("gfx/switch")
|
local imgSwitch = gfx.imagetable.new("gfx/switch")
|
||||||
local imgFloppy = gfx.image.new("gfx/floppy")
|
local imgFloppy = gfx.image.new("gfx/floppy")
|
||||||
|
local imgAdd = gfx.image.new("gfx/add")
|
||||||
|
local imgMus = gfx.image.new("gfx/music")
|
||||||
|
local imgLine = gfx.image.new("gfx/line")
|
||||||
|
local imgSpin = gfx.image.new("gfx/spin")
|
||||||
|
local imgCursor = gfx.image.new("gfx/cursor2")
|
||||||
assert(imgSwitch)
|
assert(imgSwitch)
|
||||||
assert(imgFloppy)
|
assert(imgFloppy)
|
||||||
local sprSwitch = gfx.sprite.new(imgSwitch:getImage(1))
|
assert(imgAdd)
|
||||||
local sprFloppy = gfx.sprite.new(imgFloppy)
|
assert(imgMus)
|
||||||
|
assert(imgLine)
|
||||||
sprSwitch:moveTo(381,47)
|
assert(imgSpin)
|
||||||
sprFloppy:moveTo(381,17)
|
assert(imgCursor)
|
||||||
|
|
||||||
function newProject()
|
function newProject()
|
||||||
mode = "newproj"
|
mode = "newproj"
|
||||||
|
@ -37,9 +57,11 @@ function playdate.keyboard.keyboardWillHideCallback(ok)
|
||||||
editLoad()
|
editLoad()
|
||||||
else
|
else
|
||||||
mode = "editor"
|
mode = "editor"
|
||||||
sprSwitch:add()
|
toolTipButton, error = menu:addCheckmarkMenuItem("show help",true, function(value)
|
||||||
sprFloppy:add()
|
print(value)
|
||||||
|
end)
|
||||||
|
imgtiles:add()
|
||||||
|
menuButton:setTitle("save & quit")
|
||||||
playdate.wait(0.1)
|
playdate.wait(0.1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -56,7 +78,7 @@ end
|
||||||
|
|
||||||
local tileIndex = 0.0
|
local tileIndex = 0.0
|
||||||
|
|
||||||
local curY = math.floor( tileIndex ) * 30 + 2
|
local curY = math.floor( tileIndex ) * 28 + 3
|
||||||
local curYlerp = -32
|
local curYlerp = -32
|
||||||
|
|
||||||
function editUpdate()
|
function editUpdate()
|
||||||
|
@ -65,14 +87,24 @@ function editUpdate()
|
||||||
|
|
||||||
tileIndex += change * 0.01
|
tileIndex += change * 0.01
|
||||||
|
|
||||||
curY = math.floor( tileIndex ) * 30 + 2
|
if tileIndex > 7.9 then tileIndex = 0 end
|
||||||
|
if tileIndex < 0 then tileIndex = 7.9 end
|
||||||
|
|
||||||
curYlerp = playdate.math.lerp(curYlerp, curY, 0.3)
|
curY = math.floor( tileIndex ) * 28 +7
|
||||||
|
|
||||||
|
curYlerp = playdate.math.lerp(curYlerp, curY, 0.4)
|
||||||
|
positionLerp.x = playdate.math.lerp(positionLerp.x, position.x * 16, 0.5)
|
||||||
|
positionLerp.y = playdate.math.lerp(positionLerp.y, position.y * 16, 0.5)
|
||||||
|
|
||||||
if playdate.buttonJustPressed(playdate.kButtonA) then
|
if playdate.buttonJustPressed(playdate.kButtonA) then
|
||||||
if math.floor( tileIndex ) == 1 then
|
if math.floor( tileIndex ) == 1 then
|
||||||
playdate.display.setInverted(not playdate.display.getInverted())
|
playdate.display.setInverted(not playdate.display.getInverted())
|
||||||
sprSwitch:setImage(imgSwitch:getImage(bool2int[playdate.display.getInverted()] + 1))
|
elseif math.floor( tileIndex ) == 3 then
|
||||||
|
tilemapEditor:setTileAtPosition(position.x+12,position.y+8,2)
|
||||||
|
tiles[#tiles+1] = {x=position.x + 12, y=position.y + 8, 2}
|
||||||
|
imgtiles = gfx.sprite.new(tilemapEditor)
|
||||||
|
w, h = imgtiles:getSize()
|
||||||
|
imgtiles:moveTo(w/2,h/2)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -81,22 +113,46 @@ function editUpdate()
|
||||||
elseif playdate.buttonJustPressed(playdate.kButtonRight) then
|
elseif playdate.buttonJustPressed(playdate.kButtonRight) then
|
||||||
position.x += 1
|
position.x += 1
|
||||||
end
|
end
|
||||||
|
if playdate.buttonJustPressed(playdate.kButtonUp) then
|
||||||
|
position.y -= 1
|
||||||
|
elseif playdate.buttonJustPressed(playdate.kButtonDown) then
|
||||||
|
position.y += 1
|
||||||
|
end
|
||||||
|
|
||||||
|
gfx.clear()
|
||||||
|
|
||||||
-- draw map
|
-- draw map
|
||||||
gfx.setDrawOffset(position.x*16,position.y*16)
|
gfx.setDrawOffset(-positionLerp.x, -positionLerp.y)
|
||||||
|
imgtiles:update()
|
||||||
|
imgCursor:draw((position.x + 11) * 16, (position.y + 7) * 16)
|
||||||
|
|
||||||
-- draw ui
|
-- draw ui/
|
||||||
gfx.setDrawOffset(0,0)
|
gfx.setDrawOffset(0,0)
|
||||||
gfx.sprite.update()
|
gfx.setColor(gfx.kColorBlack)
|
||||||
|
gfx.fillRect(365,0,400,240)
|
||||||
|
|
||||||
gfx.setColor(gfx.kColorWhite)
|
gfx.setColor(gfx.kColorWhite)
|
||||||
gfx.drawLine(360,0,360,240)
|
gfx.drawLine(360,0,360,240)
|
||||||
|
|
||||||
|
-- draw changes
|
||||||
|
if editor == "main" then
|
||||||
|
imgMus:draw(366, 64)
|
||||||
|
imgAdd:draw(366,93)
|
||||||
|
imgSwitch:getImage(bool2int[playdate.display.getInverted()] + 1):draw(366,36)
|
||||||
|
imgFloppy:draw(366,8)
|
||||||
|
imgLine:draw(366,120)
|
||||||
|
imgSpin:draw(366,148)
|
||||||
|
end
|
||||||
|
|
||||||
gfx.setColor(playdate.graphics.kColorXOR)
|
gfx.setColor(playdate.graphics.kColorXOR)
|
||||||
gfx.fillRect(365,curYlerp,33,30)
|
gfx.fillRect(365,curYlerp,33,28)
|
||||||
end
|
end
|
||||||
|
|
||||||
function editClose()
|
function editClose()
|
||||||
sprSwitch:remove()
|
for tile = 1, #tiles, 1 do
|
||||||
sprFloppy:remove()
|
tilemapEditor:setTileAtPosition(tiles[tile].x,tiles[tile].y,0)
|
||||||
|
end
|
||||||
|
imgtiles:remove()
|
||||||
|
playdate.getSystemMenu():removeMenuItem(toolTipButton)
|
||||||
|
menuButton:setTitle("game menu")
|
||||||
end
|
end
|
|
@ -48,6 +48,8 @@ createMenu(mainmenu)
|
||||||
local menu = playdate.getSystemMenu()
|
local menu = playdate.getSystemMenu()
|
||||||
menuButton, error = menu:addMenuItem("game menu", function()
|
menuButton, error = menu:addMenuItem("game menu", function()
|
||||||
if mode == "game" then
|
if mode == "game" then
|
||||||
|
removeMap()
|
||||||
|
playdate.datastore.delete("savegame.json")
|
||||||
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
|
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
|
||||||
elseif mode == "editor" then
|
elseif mode == "editor" then
|
||||||
editClose()
|
editClose()
|
||||||
|
@ -100,7 +102,7 @@ function playdate.update()
|
||||||
gfx.clear()
|
gfx.clear()
|
||||||
updateNewproj()
|
updateNewproj()
|
||||||
elseif mode == "editor" then
|
elseif mode == "editor" then
|
||||||
gfx.clear()
|
|
||||||
editUpdate()
|
editUpdate()
|
||||||
|
|
||||||
if playdate.isCrankDocked() then
|
if playdate.isCrankDocked() then
|
||||||
|
@ -117,6 +119,7 @@ end
|
||||||
|
|
||||||
function playdate.gameWillTerminate()
|
function playdate.gameWillTerminate()
|
||||||
if mode == "game" then
|
if mode == "game" then
|
||||||
|
playdate.datastore.delete("savegame.json")
|
||||||
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
|
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -35,6 +35,15 @@ function addMap(_file, rs)
|
||||||
tilemap:setTileAtPosition(level.tiles[i].x,level.tiles[i].y,level.tiles[i].t)
|
tilemap:setTileAtPosition(level.tiles[i].x,level.tiles[i].y,level.tiles[i].t)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
song:stop()
|
||||||
|
if level.song then
|
||||||
|
song:load("sfx/"..level.song)
|
||||||
|
else
|
||||||
|
song:load("sfx/song2")
|
||||||
|
end
|
||||||
|
|
||||||
|
song:play(0)
|
||||||
|
|
||||||
if level.inverted then playdate.display.setInverted(true) else playdate.display.setInverted(false) end
|
if level.inverted then playdate.display.setInverted(true) else playdate.display.setInverted(false) end
|
||||||
if level.saws then loadBlades(level.saws) end
|
if level.saws then loadBlades(level.saws) end
|
||||||
if level.rotators then loadSpins(level.rotators) end
|
if level.rotators then loadSpins(level.rotators) end
|
||||||
|
@ -50,3 +59,12 @@ function addMap(_file, rs)
|
||||||
sprTiles:moveTo(sprTiles.width/2,sprTiles.height/2)
|
sprTiles:moveTo(sprTiles.width/2,sprTiles.height/2)
|
||||||
sprTiles:add()
|
sprTiles:add()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function removeMap()
|
||||||
|
if #tiles > 0 then
|
||||||
|
for i = 1, #tiles, 1 do
|
||||||
|
tiles[i]:remove()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
sprTiles:remove()
|
||||||
|
end
|
|
@ -27,9 +27,11 @@ function mainMenuCreation()
|
||||||
mainmenu = {}
|
mainmenu = {}
|
||||||
mainmenu[4],mainmenu[3],mainmenu[2], mainmenu[1], mainmenu[0] = "START NEW GAME", "USER LEVELS", "LEVEL EDITOR", "EXTRAS", "mainNoPlay"
|
mainmenu[4],mainmenu[3],mainmenu[2], mainmenu[1], mainmenu[0] = "START NEW GAME", "USER LEVELS", "LEVEL EDITOR", "EXTRAS", "mainNoPlay"
|
||||||
|
|
||||||
if playdate.datastore.read("savegame") then
|
local g = playdate.datastore.read("savegame")
|
||||||
map = playdate.datastore.read("savegame").savedLevel
|
|
||||||
deaths = playdate.datastore.read("savegame").savedDeaths
|
if g then
|
||||||
|
map = g.savedLevel
|
||||||
|
deaths = g.savedDeaths
|
||||||
mainmenu[5], mainmenu[0] = "CONTINUE", "mainPlay"
|
mainmenu[5], mainmenu[0] = "CONTINUE", "mainPlay"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -108,12 +110,35 @@ function updateMenu()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function dataLoad()
|
||||||
|
barpos = 160
|
||||||
|
logopos = -112
|
||||||
|
local lvls = playdate.file.listFiles("data")
|
||||||
|
local m = {}
|
||||||
|
m[0], m[1] = "data", "EXTRAS"
|
||||||
|
if #lvls - ((10*page)) <= 0 then page = 0 end
|
||||||
|
if #lvls <= 11 then
|
||||||
|
for i = 1, #lvls, 1 do
|
||||||
|
m[i+1] = lvls[i]:upper()
|
||||||
|
end
|
||||||
|
elseif lvls[1 + (10*page)] then
|
||||||
|
m[2] = "NEXT PAGE"
|
||||||
|
for i = 1, 10, 1 do
|
||||||
|
if lvls[i+(10*page)] then
|
||||||
|
m[i+2] = lvls[i+(10*page)]:upper()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
createMenu(m)
|
||||||
|
end
|
||||||
|
|
||||||
local function customLoad()
|
local function customLoad()
|
||||||
barpos = 160
|
barpos = 160
|
||||||
logopos = -112
|
logopos = -112
|
||||||
local lvls = playdate.file.listFiles("levels")
|
local lvls = playdate.file.listFiles("levels")
|
||||||
local m = {}
|
local m = {}
|
||||||
m[0], m[1] = "customs", "BACK"
|
m[0], m[1] = "customs", "MENU"
|
||||||
if #lvls - ((10*page)) <= 0 then page = 0 end
|
if #lvls - ((10*page)) <= 0 then page = 0 end
|
||||||
if #lvls <= 11 then
|
if #lvls <= 11 then
|
||||||
for i = 1, #lvls, 1 do
|
for i = 1, #lvls, 1 do
|
||||||
|
@ -136,7 +161,7 @@ function editLoad()
|
||||||
barpos = 160
|
barpos = 160
|
||||||
local lvls = playdate.file.listFiles("levels")
|
local lvls = playdate.file.listFiles("levels")
|
||||||
local m = {}
|
local m = {}
|
||||||
m[0], m[1], m[2] = "edits", "BACK", "CREATE NEW"
|
m[0], m[1], m[2] = "edits", "MENU", "CREATE NEW"
|
||||||
if #lvls - (1 + (9*page)) <= 0 then page = 0 end
|
if #lvls - (1 + (9*page)) <= 0 then page = 0 end
|
||||||
if #lvls <= 10 then
|
if #lvls <= 10 then
|
||||||
for i = 1, #lvls, 1 do
|
for i = 1, #lvls, 1 do
|
||||||
|
@ -175,7 +200,7 @@ function menuButtonPress(name)
|
||||||
local m = {}
|
local m = {}
|
||||||
--barpos = 160
|
--barpos = 160
|
||||||
--logopos = -112
|
--logopos = -112
|
||||||
m[0],m[1], m[2], m[3], m[4], m[5] = "extras", "BACK", "MUSIC BOX", "END CUTSCENE", "START CUTSCENE", "LEVEL SELECT"
|
m[0],m[1], m[2], m[3], m[4], m[5] = "extras", "MENU", "MUSIC BOX", "END CUTSCENE", "START CUTSCENE", "LEVEL SELECT"
|
||||||
if playdate.file.exists("bonusLevels.rocketbytes") then
|
if playdate.file.exists("bonusLevels.rocketbytes") then
|
||||||
m[6] = "EXTRA LEVELS"
|
m[6] = "EXTRA LEVELS"
|
||||||
end
|
end
|
||||||
|
@ -187,6 +212,8 @@ function menuButtonPress(name)
|
||||||
elseif name == "LEVEL EDITOR" then
|
elseif name == "LEVEL EDITOR" then
|
||||||
page = 0
|
page = 0
|
||||||
editLoad()
|
editLoad()
|
||||||
|
elseif name == "LEVEL SELECT" then
|
||||||
|
dataLoad()
|
||||||
elseif name == "CREATE NEW" then
|
elseif name == "CREATE NEW" then
|
||||||
newProject()
|
newProject()
|
||||||
elseif name == "NEXT PAGE" then
|
elseif name == "NEXT PAGE" then
|
||||||
|
@ -197,11 +224,14 @@ function menuButtonPress(name)
|
||||||
editLoad()
|
editLoad()
|
||||||
end
|
end
|
||||||
|
|
||||||
elseif name == "BACK" or name == "CANCEL" then
|
elseif name == "BACK" or name == "CANCEL" or name == "MENU" then
|
||||||
createMenu(mainmenu)
|
createMenu(mainmenu)
|
||||||
|
|
||||||
elseif menu == "customs" then
|
elseif menu == "customs" then
|
||||||
addMap("levels/"..name, true)
|
addMap("levels/"..name, true)
|
||||||
mode = "play"
|
mode = "play"
|
||||||
|
elseif menu == "data" then
|
||||||
|
addMap("data/"..name, true)
|
||||||
|
mode = "play"
|
||||||
end
|
end
|
||||||
end
|
end
|
|
@ -31,9 +31,6 @@ sprBigRocket:setCollideRect(8,8,48,48)
|
||||||
sprBigRocket:setGroups({2})
|
sprBigRocket:setGroups({2})
|
||||||
|
|
||||||
function addPlayer(_x,_y,__x,__y)
|
function addPlayer(_x,_y,__x,__y)
|
||||||
song:stop()
|
|
||||||
song:load("sfx/song2")
|
|
||||||
song:play(0)
|
|
||||||
exists = true
|
exists = true
|
||||||
dead = false
|
dead = false
|
||||||
scale = 1
|
scale = 1
|
||||||
|
@ -52,6 +49,7 @@ function killPlayer()
|
||||||
exists = false
|
exists = false
|
||||||
active = false
|
active = false
|
||||||
sprRocket:remove()
|
sprRocket:remove()
|
||||||
|
sprBigRocket:remove()
|
||||||
gfx.setDrawOffset(0,0)
|
gfx.setDrawOffset(0,0)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -74,20 +72,20 @@ local function playerWin()
|
||||||
if next then
|
if next then
|
||||||
map = next
|
map = next
|
||||||
end
|
end
|
||||||
playdate.datastore.delete("savegame")
|
|
||||||
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
|
|
||||||
totalEnergy = 0
|
totalEnergy = 0
|
||||||
showEnergy = false
|
showEnergy = false
|
||||||
energy = 0
|
energy = 0
|
||||||
if next == nil then
|
if mode == "game" and next then
|
||||||
mainMenuCreation()
|
playdate.datastore.delete("savegame")
|
||||||
createMenu(mainmenu)
|
playdate.datastore.write({savedLevel=map,savedDeaths=deaths},"savegame")
|
||||||
next = nil
|
|
||||||
else
|
|
||||||
next = nil
|
next = nil
|
||||||
killBlades()
|
killBlades()
|
||||||
killPlayer()
|
killPlayer()
|
||||||
addMapSave(map, false)
|
addMapSave(map, false)
|
||||||
|
else
|
||||||
|
mainMenuCreation()
|
||||||
|
createMenu(mainmenu)
|
||||||
|
next = nil
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"bigrocket":{"x":73.333333,"y":144.79638},"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":"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}]}
|
BIN
Source/gfx/add.png
Normal file
BIN
Source/gfx/add.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 182 B |
BIN
Source/gfx/cursor2.png
Normal file
BIN
Source/gfx/cursor2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 99 B |
BIN
Source/gfx/line.png
Normal file
BIN
Source/gfx/line.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 200 B |
BIN
Source/gfx/music.png
Normal file
BIN
Source/gfx/music.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 172 B |
BIN
Source/gfx/spin.png
Normal file
BIN
Source/gfx/spin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 261 B |
BIN
Source/gfx/square.png
Normal file
BIN
Source/gfx/square.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 133 B |
|
@ -4,4 +4,5 @@ description=Help a crew of rockets collect energy to get back home!
|
||||||
bundleID=com.PossiblyAxolotl.RocketBytes
|
bundleID=com.PossiblyAxolotl.RocketBytes
|
||||||
version=DEV
|
version=DEV
|
||||||
buildNumber=1
|
buildNumber=1
|
||||||
imagePath=launcher
|
imagePath=launcher
|
||||||
|
contentWarning=This game requires extremely precise and quick crank movement.
|
BIN
Source/sfx/song5.wav
Normal file
BIN
Source/sfx/song5.wav
Normal file
Binary file not shown.
Loading…
Reference in a new issue