2011-10-25 9 views
1

私はそれが必要な最後の時間です:コロナのルアで円の線分を描くにはどうすればよいですか?

私はセグメントと異なる塗りつぶしや透明で円を作成するのが簡単です。 だから、私はちょうど時間(60秒)で円を埋めるストップウォッチのように持っています。種類A

機能> showsegment(xcircle、ycircle、半径、秒):}

@その溶液をもたらす任意の短い線は、歓迎されています。 コードはLuaのコロナフレームワーク内で動作する必要があります。

+1

*ルア*、ルア* – lhf

答えて

0

私はあなたができるとは思わない。アルファと色合いのある画像を使用することは選択肢ではありませんか? はい、60個のオブジェクトを作成する必要がありますが、1つのティックごとに1つのオブジェクトが作成されますが、イメージはキャッシュされているため、そのオブジェクトをロードして一度メモリを割り当てます。すべての次のインスタンスは安いです。

0

これはあなたが探しているものであるかどうかわかりませんが、私が好奇心をそそられた質問を見て、私はそれを取り乱して、これを考え出しました: tick = 0; ticks = {};

cr = 250; -- Circle radius 
hr = 0.9; -- hand radius 
hw = 10; -- hand width 
mr = 0.25; -- middle radius (fg) 

bg = display.newCircle(cr, cr, cr); -- background 
for i=1,360 do 
    local w = hr * (cr * 2); 
    local x = (w/2)+(((cr*2) - w)/2); 
    local t = display.newRect(x,x,hw,w); 
    t:rotate(i-1); 
    t:setFillColor(0,0, 0); 

    table.insert(ticks, t); 
end 


function drawTick(e) 
    print("tick "..tick); 
    local dg = display.newGroup(); 
    local w = hr * (cr * 2); 
    local x = (w/2)+(((cr*2) - w)/2); 
    local t = display.newRect(dg, 0, -w/4, 10, w/2); 

    dg.x = x; 
    dg.y = x; 
    t:setFillColor(0, 1, 0); 
    dg:rotate(tick-1); 

    table.insert(ticks, t); 
    fg = display.newCircle(cr,cr,mr*cr); 

    if tick < 361 then 
     tick = tick + 1 
     timer.performWithDelay(50, drawTick); 
    end 
end 

timer.performWithDelay(0, drawTick); 

EDIT:コードを少し整理しました。

関連する問題