If anyone hasn’t made their own arc function, here’s a deadly simple one.
--# Main
-- arc
-- Use this function to perform your initial setup
function setup()
ar = arc(WIDTH/2,HEIGHT/2,200,150,0,180)
et=0
end
function touched(t)
fill(t.x,(t.y*t.x)/HEIGHT,t.x-t.y)
et=et+0.05
ar= arc(WIDTH/2,HEIGHT/2,200,math.sin(et)*80+110,0,(math.deg(math.atan2(t.y-HEIGHT/2,t.x-WIDTH/2))))
end
-- r = radius, mr = radius of inner arc, ang1, ang2 = start/end angles of arc.
function arc(x,y,r,mr,ang1,ang2)
local arcshader = shader("Patterns:Arc")
local minr = (mr/r)/2
local m = mesh()
m.shader = arcshader
m.shader.a1 = math.rad(ang1)
m.shader.a2 = math.rad(ang2)
local col = color(fill())
m.shader.color = vec4(col.r/255,col.g/255,col.b/255,col.a/255)
m.shader.size = minr
local rct = m:addRect(x,y,r,r,0)
return m
end
function draw()
background(40, 40, 50)
ar:draw()
end