From 29c4d0e106bf7c02579ad202a24ccd6ca6700009 Mon Sep 17 00:00:00 2001 From: PossiblyAxolotl Date: Sat, 14 May 2022 10:34:53 -0600 Subject: [PATCH] mathbad --- Source/Main.lua | 3 ++- Source/Map.lua | 1 - Source/Player.lua | 15 ++++++++++++++- Source/Saws.lua | 13 +++++++++---- Source/gfx/fire-table-8-6.png | Bin 0 -> 137 bytes Source/gfx/sawblades-table-16-16.png | Bin 0 -> 189 bytes Source/levels/THX.rocketbytes | 4 ++++ 7 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 Source/gfx/fire-table-8-6.png create mode 100644 Source/gfx/sawblades-table-16-16.png create mode 100644 Source/levels/THX.rocketbytes diff --git a/Source/Main.lua b/Source/Main.lua index 890cdb1..67fc608 100644 --- a/Source/Main.lua +++ b/Source/Main.lua @@ -23,7 +23,7 @@ gfx.setBackgroundColor(gfx.kColorBlack) song = playdate.sound.fileplayer.new("sfx/song1") song:setVolume(0) -song:setVolume(0.5,0.5, 2) +song:setVolume(0.5,0.5, 1) song:play(0) local imgCrank = gfx.image.new("gfx/crank") @@ -57,6 +57,7 @@ function playdate.update() updateMenu() elseif mode == "game" or mode == "play" then + song:setVolume(0.5) updatePlayer() gfx.sprite.update() diff --git a/Source/Map.lua b/Source/Map.lua index ba16018..ec01975 100644 --- a/Source/Map.lua +++ b/Source/Map.lua @@ -2,7 +2,6 @@ local gfx = playdate.graphics local tileTable = gfx.imagetable.new("gfx/tiles") local tilemap = gfx.tilemap.new() tilemap:setImageTable(tileTable) - local tiles = {} local sprTiles = gfx.sprite.new(tilemap) diff --git a/Source/Player.lua b/Source/Player.lua index e0572ba..3674f34 100644 --- a/Source/Player.lua +++ b/Source/Player.lua @@ -1,5 +1,5 @@ import "CoreLibs/math" -import "CoreLibs/animator" +import "CoreLibs/animation" local velocity = {x=0,y=0} local lerpmnt = 0.5 @@ -11,8 +11,11 @@ local exists = false local active = false local gfx = playdate.graphics local imgRocket = gfx.image.new("gfx/rocket") +local imgFire = gfx.imagetable.new("gfx/fire") assert(imgRocket) local sprRocket = gfx.sprite.new(imgRocket) +local loopFire = gfx.animation.loop.new(200,imgFire) +local sprFire = gfx.sprite.new(loopFire:image()) sprRocket:setCollideRect(7, 7, 14, 14) local startpos = {x=0,y=0} @@ -36,6 +39,7 @@ function addPlayer(_x,_y,__x,__y) sprBigRocket:add() sprRocket:moveTo(_x,_y) sprRocket:add() + sprFire:add() sprRocket:setVisible(true) end @@ -47,6 +51,11 @@ function killPlayer() end local function playerWin() + if active then + song:stop() + song:load("sfx/song3") + song:play(1) + end active = false exists = false dead = true @@ -60,6 +69,7 @@ local function die() end function updatePlayer() + sprFire:setImage(loopFire:image()) if active == true then if playdate.buttonIsPressed(playdate.kButtonUp) or playdate.buttonIsPressed(playdate.kButtonA) then velocity.x = velocity.x + math.sin(math.rad(playdate.getCrankPosition())) /2 @@ -97,7 +107,10 @@ function updatePlayer() sprRocket:setScale(scale,scale) + sprFire:moveTo(sprRocket.x-math.sin(math.rad(playdate.getCrankPosition())*10),sprRocket.y+math.cos(math.rad(playdate.getCrankPosition()))*10) + sprRocket:setRotation(playdate.getCrankPosition()) + sprFire:setRotation(playdate.getCrankPosition()) end function updateExit() diff --git a/Source/Saws.lua b/Source/Saws.lua index 5afbb12..49617f8 100644 --- a/Source/Saws.lua +++ b/Source/Saws.lua @@ -1,11 +1,14 @@ import "CoreLibs/animator" +import "CoreLibs/animation" local gfx = playdate.graphics -local imgSaw = gfx.image.new("gfx/sawblade") +local imgSaw = gfx.imagetable.new("gfx/sawblades") local imgTarget = gfx.image.new("gfx/target") assert(imgSaw) assert(imgTarget) +local loopSaws = gfx.animation.loop.new(200, imgSaw) + local blades = {} local spinblades = {} @@ -14,7 +17,7 @@ function loadBlades(_blades) local b = _blades[i] b.start = playdate.geometry.point.new(b.start.x,b.start.y) b.ends = playdate.geometry.point.new(b.ends.x,b.ends.y) - b.saw = gfx.sprite.new(imgSaw) + b.saw = gfx.sprite.new(loopSaws:image()) b.saw:moveTo(b.start) b.saw:setCollideRect(0,0,16,16) b.saw:add() @@ -37,7 +40,7 @@ function loadSpins(_spins) for i = 1, #_spins, 1 do local s = _spins[i] if s.middle then - s.middle = gfx.sprite.new(imgSaw) + s.middle = gfx.sprite.new(loopSaws:image()) s.middle:setCollideRect(0,0,16,16) else s.middle = gfx.sprite.new(imgTarget) @@ -52,7 +55,7 @@ function loadSpins(_spins) local degrees = (360 / s.arms) * i local position = {x=math.sin(math.rad(degrees)) * 20 * p,y=math.cos(math.rad(degrees)) * 20 * p} - sb.arms[i][p] = gfx.sprite.new(imgSaw) + sb.arms[i][p] = gfx.sprite.new(loopSaws:image()) sb.arms[i][p]:moveTo(s.x + position.x, s.y + position.y) sb.arms[i][p]:setCollideRect(0,0,16,16) sb.arms[i][p]:add() @@ -65,6 +68,7 @@ end function updateSaws() for b=1, #blades, 1 do b = blades[b] + b.saw:setImage(loopSaws:image()) local pos = playdate.geometry.point.new(b.saw:getPosition()) if pos == b.start then local a = gfx.animator.new(b.speed*1000, b.start, b.ends) @@ -86,6 +90,7 @@ function updateSaws() local degrees = (360 / #spinblades[spinner].arms * arm + spinblades[spinner].time) local position = {x=math.sin(math.rad(degrees)) * 20 * blade,y=math.cos(math.rad(degrees)) * 20 * blade} + spinblades[spinner].arms[arm][blade]:setImage(loopSaws:image()) spinblades[spinner].arms[arm][blade]:moveTo(spinblades[spinner].mid.x + position.x, spinblades[spinner].mid.y + position.y) end end diff --git a/Source/gfx/fire-table-8-6.png b/Source/gfx/fire-table-8-6.png new file mode 100644 index 0000000000000000000000000000000000000000..2e9617900adc4c786c4fc1aad98b89b9dddbb34b GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~h!3HEx)yO>uQURVWjv*3Lm-ZdxJz&7Wd_L6t zl+Mgasu2w{@AwC~2L3+v*FtAQj$sR|Sj2eRj mbE@APD>s~ZqFsLH0psUDRrjyI1GfUrX7F_Nb6Mw<&;$T7dohIo literal 0 HcmV?d00001 diff --git a/Source/gfx/sawblades-table-16-16.png b/Source/gfx/sawblades-table-16-16.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc8d0546e1df5b861d4a02738e47079ea0b1bd3 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYeREwvJV~9uR*-%Hm0}33?ssH~Q z?LNcWF*jk+C1I&GQQ8|iE_90(6!c7Zw3996bm8h7^CujTI9r`6(0@{UA;T_3rcX{& zjz5_iu;BN%GvAtCZLbNgKhpTMw9fGwGw)_OgP+GmANZ->*=8Qd$hw6+K=n(