From 3f7b1b18e66b298909937768de6c2a4274291c75 Mon Sep 17 00:00:00 2001 From: PossiblyAxolotl Date: Sun, 8 May 2022 11:52:50 -0600 Subject: [PATCH] reworked spinner loading and removal --- Source/Saws.lua | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/Source/Saws.lua b/Source/Saws.lua index 69931a8..dce2491 100644 --- a/Source/Saws.lua +++ b/Source/Saws.lua @@ -45,16 +45,17 @@ function loadSpins(_spins) s.middle:moveTo(s.x,s.y) s.middle:add() - local sb = {speed=s.speed,arms=s.arms,armlen=s.armlen,blades={},mid=s.middle,time=0} + local sb = {speed=s.speed,arms={},mid=s.middle,time=0} for i = 1, s.arms, 1 do + sb.arms[i] = {} for p = 1, s.armlen, 1 do 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.blades[#sb.blades+1] = gfx.sprite.new(imgSaw) - sb.blades[#sb.blades]:moveTo(s.x + position.x, s.y + position.y) - sb.blades[#sb.blades]:setCollideRect(0,0,16,16) - sb.blades[#sb.blades]:add() + sb.arms[i][p] = gfx.sprite.new(imgSaw) + 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() end end spinblades[#spinblades+1] = sb @@ -76,18 +77,7 @@ function updateSaws() end end - for spinner = 1, #spinblades, 1 do - for arm = 1, spinblades[spinner].arms do - for armlen = 1, spinblades[spinner].armlen do - for blade = 1, #spinblades[spinner].blades do - spinblades[spinner].time += spinblades[spinner].speed - local degrees = spinblades[spinner].time / 360 * arm - local newpos = {x=math.sin(math.rad(degrees)) * 20 * armlen,y=math.cos(math.rad(degrees)) * 20 * armlen} - spinblades[spinner].blades[blade]:moveTo(spinblades[spinner].mid.x + newpos.x, spinblades[spinner].mid.y + newpos.y) - end - end - end - end + printTable(spinblades) end function killBlades() @@ -100,8 +90,10 @@ function killBlades() for i = 1, #spinblades, 1 do spinblades[i].mid:remove() - for b = 1, #spinblades[i].blades do - spinblades[i].blades[b]:remove() + for arm = 1, #spinblades[i].arms do + for blade = 1, #spinblades[i].arms[arm] do + spinblades[i].arms[arm][blade]:remove() + end end end