使用圆形绘制线条的 Corona SDK

我有这段使用 display.newCircle 在屏幕上画线的代码,它可以完美工作,但是当我画更多线条的时候,它会变得越来越不稳定并泄漏内存。我该如何保持这个代码的最佳性能?

这个问题只出现在设备上。 以下是代码

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)

有什么帮助吗?

点赞
用户869951
用户869951

每次您触摸屏幕时,都会将圆圈的行延长一个圆圈,但您不会将其添加到场景视图中,因此它不受场景管理。

2014-01-29 12:18:33
用户1870706
用户1870706

你在哪里增加变量i?如果不增加,那么你将会覆盖之前的入口,但是它仍然分配了内存。你可以在你的代码中添加一些打印语句,观察你的内存,看看它是否变得太高。

2014-02-02 04:03:41