I’m still trying to move an object in a square movement and I’m having two problems. My code is below
- It goes the full square but then it stops. I cannot get it to loop.
I would really appreciate any thoughts on how to make the loop continue.
- This method is causing a bad memory leak. I’ve tried pausing the timers and transitions in multiple places but it seem to stop the code.
I would really appreciate any thoughts on how to plug this memory leak.
THANKS!
Lori
–FUNCTION TO MOVE OBJECT
function objectMovement1(event)
objectMove.pathData = loadsave.loadTable(“pathData.json”)
pocket1X = objectMove.pathData.pocket1X
pocket1Y = objectMove.pathData.pocket1Y
if pocket1X ==384 and pocket1Y==253 then
objectMove.pathData.pocket1X = 680
objectMove.pathData.pocket1Y = 253
loadsave.saveTable(objectMove.pathData, “pathData.json”)
local path1a = transition.to(pocket1, { time=8000, x=680, y = 253, iterations=1 } )
local path1b = transition.to(pocketSensor1, { time=8000, x=680, y = 253, iterations=1 } )
end
local pathTimer1 = timer.performWithDelay(8000, objectMovement2,1)
end
–FUNCTION FOR THE 2ND MOVEMENT
function objectMovement2()
objectMove.pathData = loadsave.loadTable(“pathData.json”)
pocket1X = objectMove.pathData.pocket1X
pocket1Y = objectMove.pathData.pocket1Y
if pocket1X ==680 and pocket1Y==253 then
objectMove.pathData.pocket1X = 680
objectMove.pathData.pocket1Y = 840
loadsave.saveTable(objectMove.pathData, “pathData.json”)
local path2a = transition.to(pocket1, { time=8000, x=680, y = 840, iterations=1 } )
local path2b = transition.to(pocketSensor1, { time=8000, x=680, y = 840, iterations=1 } )
end
local pathTimer2 = timer.performWithDelay(8000, objectMovement3,1)
end
–FUNCTION FOR THE 3RD MOVEMENT
function objectMovement3()
objectMove.pathData = loadsave.loadTable(“pathData.json”)
pocket1X = objectMove.pathData.pocket1X
pocket1Y = objectMove.pathData.pocket1Y
if pocket1X ==680 and pocket1Y==840 then
objectMove.pathData.pocket1X = 100
objectMove.pathData.pocket1Y = 840
loadsave.saveTable(objectMove.pathData, “pathData.json”)
local path3a = transition.to(pocket1, { time=8000, x=100, y = 840, iterations=1 } )
local path3b = transition.to(pocketSensor1, { time=8000, x=100, y = 840, iterations=1 } )
end
local pathTimer3 = timer.performWithDelay(8000, objectMovement4,1)
end
–FUNCTION FOR THE 4TH MOVEMENT
function objectMovement4()
objectMove.pathData = loadsave.loadTable(“pathData.json”)
pocket1X = objectMove.pathData.pocket1X
pocket1Y = objectMove.pathData.pocket1Y
if pocket1X ==100 and pocket1Y==840 then
objectMove.pathData.pocket1X = 100
objectMove.pathData.pocket1Y = 253
loadsave.saveTable(objectMove.pathData, “pathData.json”)
local path4a = transition.to(pocket1, { time=8000, x=100, y = 253, iterations=1 } )
local path4b = transition.to(pocketSensor1, { time=8000, x=100, y = 253, iterations=1 } )
end
local pathTimer4 = timer.performWithDelay(8000, objectMovement5,1)
end
–FUNCTION FOR THE 5TH MOVEMENT
function objectMovement5()
objectMove.pathData = loadsave.loadTable(“pathData.json”)
pocket1X = objectMove.pathData.pocket1X
pocket1Y = objectMove.pathData.pocket1Y
if pocket1X ==100 and pocket1Y==253 then
objectMove.pathData.pocket1X = 383
objectMove.pathData.pocket1Y = 253
loadsave.saveTable(objectMove.pathData, “pathData.json”)
local path5a = transition.to(pocket1, { time=8000, x=383, y = 253, iterations=1 } )
local path5b = transition.to(pocketSensor1, { time=8000, x=383, y = 253, iterations=1 } )
end
local pathTimer5 = timer.performWithDelay(8000, objectMovement6,1)
end
–FUNCTION FOR THE 6TH MOVEMENT
function objectMovement6()
objectMove.pathData.pocket1X = 384
objectMove.pathData.pocket1Y = 253
loadsave.saveTable(objectMove.pathData, “pathData.json”)
pocket1.x = 384; pocket1.y = 253
pocketSensor1.x = 384; pocketSensor1.y = 253
local pathTimer6 = timer.performWithDelay(100, objectMovement1,1)
end
–SCENE SHOW : IF
--SAVE OBJECT MOVE STARTING POINT
-----------------------------------------------
objectMove.pathData.pocket1X = 384
objectMove.pathData.pocket1Y = 253
loadsave.saveTable(objectMove.pathData, “pathData.json”)
print (“in Scene Show BEFORE screen loads”)
local startMovement = transition.to(objectMovement1(), { time=1000, iterations=1 } )
–EVENT LISTENERS for MOVING OBJECTS
-------------------------------------------------------
Runtime:addEventListener( “enterFrame”,objectMovement1)