reworked spinner loading and removal
This commit is contained in:
parent
c336d45261
commit
3f7b1b18e6
1 changed files with 11 additions and 19 deletions
|
@ -45,16 +45,17 @@ function loadSpins(_spins)
|
||||||
s.middle:moveTo(s.x,s.y)
|
s.middle:moveTo(s.x,s.y)
|
||||||
s.middle:add()
|
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
|
for i = 1, s.arms, 1 do
|
||||||
|
sb.arms[i] = {}
|
||||||
for p = 1, s.armlen, 1 do
|
for p = 1, s.armlen, 1 do
|
||||||
local degrees = (360 / s.arms) * i
|
local degrees = (360 / s.arms) * i
|
||||||
local position = {x=math.sin(math.rad(degrees)) * 20 * p,y=math.cos(math.rad(degrees)) * 20 * p}
|
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.arms[i][p] = gfx.sprite.new(imgSaw)
|
||||||
sb.blades[#sb.blades]:moveTo(s.x + position.x, s.y + position.y)
|
sb.arms[i][p]:moveTo(s.x + position.x, s.y + position.y)
|
||||||
sb.blades[#sb.blades]:setCollideRect(0,0,16,16)
|
sb.arms[i][p]:setCollideRect(0,0,16,16)
|
||||||
sb.blades[#sb.blades]:add()
|
sb.arms[i][p]:add()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
spinblades[#spinblades+1] = sb
|
spinblades[#spinblades+1] = sb
|
||||||
|
@ -76,18 +77,7 @@ function updateSaws()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for spinner = 1, #spinblades, 1 do
|
printTable(spinblades)
|
||||||
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
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function killBlades()
|
function killBlades()
|
||||||
|
@ -100,8 +90,10 @@ function killBlades()
|
||||||
|
|
||||||
for i = 1, #spinblades, 1 do
|
for i = 1, #spinblades, 1 do
|
||||||
spinblades[i].mid:remove()
|
spinblades[i].mid:remove()
|
||||||
for b = 1, #spinblades[i].blades do
|
for arm = 1, #spinblades[i].arms do
|
||||||
spinblades[i].blades[b]:remove()
|
for blade = 1, #spinblades[i].arms[arm] do
|
||||||
|
spinblades[i].arms[arm][blade]:remove()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue