local gfx = playdate.graphics local disp = playdate.display import "CoreLibs/object" import "CoreLibs/graphics" import "CoreLibs/sprites" import "CoreLibs/math" -- Music local song1 = playdate.sound.sampleplayer.new("sfx/song1") -- Font Setup local font = gfx.font.new("gfx/font") gfx.setFont(font) -- Tilemap Setup local tileTable = gfx.imagetable.new("gfx/tiles") local tilemap = gfx.tilemap.new() tilemap:setImageTable(tileTable) tilemap:setSize(100,100) local level = json.decodeFile("levels/level1.rocketbyte") for i = 1, #level.tiles, 1 do tilemap:setTileAtPosition(level.tiles[i].x,level.tiles[i].y,level.tiles[i].t) end gfx.sprite.addWallSprites(tilemap, {0,1}) local velocity = {x=0,y=0} local lerpmnt = 0.5 local grav = 0.2 local imgRocket = gfx.image.new("gfx/rocket") assert(imgRocket) local sprRocket = gfx.sprite.new(imgRocket) sprRocket:setCollideRect(7, 7, 14, 14) sprRocket:add() gfx.setBackgroundColor(gfx.kColorBlack) song1:play(0, 1) function playdate.update() if playdate.buttonIsPressed(playdate.kButtonUp) then velocity.x = velocity.x + math.sin(math.rad(playdate.getCrankPosition())) velocity.y = velocity.y - math.cos(math.rad(playdate.getCrankPosition())) end sprRocket:moveBy(velocity.x,velocity.y) local cx, cy = gfx.getDrawOffset() gfx.setDrawOffset(playdate.math.lerp(cx,(-sprRocket.x + 200), lerpmnt), playdate.math.lerp(cy,(-sprRocket.y + 120), lerpmnt)) sprRocket:setRotation(0) sprRocket:update() --print(#sprRocket:overlappingSprites()) sprRocket:setRotation(playdate.getCrankPosition()) velocity.y += grav -- local stuff = sprRocket:allOverlappingSprites() -- print(#stuff) -- gfx.setDrawOffset(-sprRocket.x + 200, -sprRocket.y + 120) gfx.clear(gfx.kColorBlack) gfx.sprite.update() tilemap:draw(2,1) --gfx.drawText("AAAAAA LMAO 000 \nTEST",0,0) end function _draw() end