Multiple Circles Displaying

I only want one circle to display so that it can “roll on the line”. Help is much appreciated. Here is the code:

local lineTable = {}

local lineWidth = 12

local lineColor = {R=math.random90,2550,G=math.random(0,255), B=math.random(0,255)}

local newLine = function(event)

local function drawLine()

local line = display.newLine(linePoints[#linePoints-1].x,linePoints[#linePoints-1].y,linePoints[#linePoints].x,linePoints[#linePoints].y)

line:setColor(lineColor.R, lineColor.G, lineColor.B);

line.width=lineWidth;

lineTable[i]:insert(line)

local physics = require(“physics”)

physics.start()

physics.setDrawMode(“normal”)

local ball = display.newCircle(0, 10, 20)

ball:setFillColor(0, 100, 0)

physics.addBody(ball, “dynamic”, {bounce=0.3, radius=10, friction=0.5})

physics.addBody(line, “static”, { bounce= -1, density=0.3, friction=0.7, shape = lineshape})

local circle = display.newCircle(linePoints[#linePoints].x,linePoints[#linePoints].y,lineWidth/2)

circle:setFillColor(lineColor.R, lineColor.G, lineColor.B)

lineTable[i]:insert(circle)

end

if event.phase==“began” then

i = #lineTable+1

lineTable[i]=display.newGroup()

display.getCurrentStage():setFocus(event.target)

local circle = display.newCircle(event.x,event.y,lineWidth/2)

circle:setFillColor(lineColor.R, lineColor.G, lineColor.B)

lineTable[i]:insert(circle)

linePoints = nil

linePoints = {};

local pt = {}

pt.x = event.x;

pt.y = event.y;

table.insert(linePoints,pt);

elseif event.phase==“moved” then

local pt = {}

pt.x = event.x;

pt.y = event.y;

if not (pt.x==linePoints[#linePoints].x and pt.y==linePoints[#linePoints].y) then

table.insert(linePoints,pt)

drawLine()

end

elseif event.phase==“cancelled” or “ended” then

display.getCurrentStage():setFocus(nil)

i=nil

end

return true

end

local erase = function()

for i = 1, #lineTable do

lineTable[i]:removeSelf()

lineTable[i] = nil

end

return true

end

Runtime:addEventListener(“touch”,newLine)

I imagine you have multiple circles because you’re creating circles in the began phase of the touch event.

is there any way to create just one circle after the line is drawn

I’m not entirely sure what you want your code to actually do?

Can you also post code within a code block, so the indentation is preserved? It’s the little <> button in the toolbar.

well i would like to have the user draw a line, then tap a button to turn on the physics engine, then have the one ball drop and roll

Take a look at the code I posted here:

http://forums.coronalabs.com/topic/39622-object-collision/?p=205955

I imagine you have multiple circles because you’re creating circles in the began phase of the touch event.

is there any way to create just one circle after the line is drawn

I’m not entirely sure what you want your code to actually do?

Can you also post code within a code block, so the indentation is preserved? It’s the little <> button in the toolbar.

well i would like to have the user draw a line, then tap a button to turn on the physics engine, then have the one ball drop and roll

Take a look at the code I posted here:

http://forums.coronalabs.com/topic/39622-object-collision/?p=205955