2014-01-29 224 views
1

我有這段代碼,使用display.newCircle在屏幕上繪製一條線。它完美的作品,但當我畫更多它會更不穩定和泄漏內存 。 我如何保持優化。 問題只出現在設備上。 這裏是代碼Corona SDK繪製線條使用圓圈

local background = display.newRect(0, 0, 480, 800) 

local lines = {}; 
local i = 1; 
local strokeWidth = 20; 
local R = 150; 
local G = 100; 
local B = 50; 

local function drawALine(event) 
    if event.phase == "began" then 
    elseif event.phase == "moved" then 

     lines[i] = display.newCircle(event.x, event.y, strokeWidth, strokeWidth); 
     lines[i]:setFillColor(R,G,B); 

    elseif event.phase == "ended" then 
    end  
end 
Runtime:addEventListener("touch", drawALine) 

任何幫助嗎?

+0

你的意思是不穩定的? – Schollii

+0

這是你的main.lua嗎?你不使用場景或createScene事件? – Schollii

+0

不,它不是main.lua我使用導演類來改變場景,我已經添加在這樣的組中'lines [i] = display.newCircle(paintGroup,event.x,event.y,strokeWidth,strokeWidth); '但這不會改變任何東西 – Beri

回答

0

每當您觸摸屏幕時,都會用一個圓圈延長您的圓形線,但不會將其添加到場景視圖中,因此不會由場景管理。

+0

您的意思是addind組?我已經添加到這樣的組''[] = display.newCircle(paintGroup,event.x,event.y,strokeWidth,strokeWidth);'但是這不會改變任何東西 – Beri

+0

不,場景視圖組。你不使用createScene(event)回調? – Schollii

+0

我使用導演類的場景不是stroryboard – Beri

0

你在哪裏增加變量i?如果你不是在寫上一篇文章,但它仍然在分配內存。您可以在代碼中添加一些打印內容以查看內存是否過高。