0
我甚至不知道從哪裏開始。任何幫助將不勝感激!如何逐漸繪製圓以創建動畫填充效果(使用Corona)
使用Corona SDK我想繪製一個將以百分比增加的方式緩慢填充的圓。
填充效果將沿着圓的路徑逆時針旋轉,直到整個圓/區域完全填充不同的顏色。
謝謝!
我甚至不知道從哪裏開始。任何幫助將不勝感激!如何逐漸繪製圓以創建動畫填充效果(使用Corona)
使用Corona SDK我想繪製一個將以百分比增加的方式緩慢填充的圓。
填充效果將沿着圓的路徑逆時針旋轉,直到整個圓/區域完全填充不同的顏色。
謝謝!
This sample from caronalabs.com forums顯示瞭如何劃出一道弧線,它提供了獨立的算法,你需要做什麼你問:
function display.newArc(group, x,y,w,h,s,e,rot)
local theArc = display.newGroup()
local xc,yc,xt,yt,cos,sin = 0,0,0,0,math.cos,math.sin --w/2,h/2,0,0,math.cos,math.sin
s,e = s or 0, e or 360
s,e = math.rad(s),math.rad(e)
w,h = w/2,h/2
local l = display.newLine(0,0,0,0)
l:setColor(54, 251, 9)
l.width = 4
theArc:insert(l)
for t=s,e,0.02 do
local cx,cy = xc + w*cos(t), yc - h*sin(t)
l:append(cx,cy)
end
group:insert(theArc)
-- Center, Rotate, then translate
theArc.x,theArc.y = 0,0
theArc.rotation = rot
theArc.x,theArc.y = x,y
return theArc
end
function display.newEllipse(group, x, y, w, h, rot)
return newArc(group, x, y, w, h, nil, nil, rot)
end
這樣看來,所有你需要做的是繼續分配新線隨着時間的推移從中心到圓的圓周。免責聲明:我沒有測試過這個代碼,你可能需要進一步修改它,但一目瞭然,數學看起來是正確的。
HTH!
對不起,我以前沒有感謝你。這完美地爲我想要的,謝謝! –
你甚至有什麼嘗試過嗎?你是否真的已經獲得了圈子本身的繪畫/工作?我們需要知道你所做的一切,以及哪些不起作用。像這樣的例子往往看起來不合時宜,因爲沒有人願意爲你做所有的工作。 – Josh
「我無法弄清楚從哪裏開始。」看起來像是一個非常合理的先驅,沒有原型可以用來解決他的問題。在這種情況下,最好讓問題持續下去,直到真正瞭解Corona SDK的人可以參與進來並提供一些幫助,並且可能編輯此問題,直到它成爲有價值的Lua + Corona社區資產做同樣的事情。 (奇怪的是,當我在這裏降落時!) –