Thank you all for your responses. They were really helpful. I managed to get it to work.
Below is a demonstration of what I was really trying to do. I am creating a level selection scene that would allow me to swipe from one theme to the next. Please let me know if there’s anything I could do to improve the code given that my purpose is to create a level selection scene.
local count = 0 local pageTotal = 3 local tileTouchHandler local scroller local w, h = display.contentWidth, display.contentHeight local cX, cY = display.contentCenterX, display.contentCenterY local abs = math.abs local pageScroll = display.newGroup() pageScroll.anchorX = 0; pageScroll.anchorY = 0 local scrollMinX, scrollMaxX = 0, -(pageTotal - 1) \* w local startX = 0 local slideX = 0 local function scroller(event) local pageNum = event.target.name if event.phase == 'began' then slideX = pageScroll.x - event.x elseif event.phase == 'moved' then if scrollMinX \>= pageScroll.x and pageScroll.x \> scrollMaxX then pageScroll.x = event.x + slideX end elseif event.phase == 'ended' then -- Scroller touch released if abs(event.x - event.xStart) \>= 150 then if (event.x - event.xStart) \< 0 then -- Move Right if pageNum ~= pageTotal then transition.to( pageScroll, {time = 300, x = startX - 640}) startX = startX - 640 end else -- Move Left if pageNum ~= 1 then transition.to( pageScroll, {time = 300, x = startX + 640}) startX = startX + 640 end end else transition.to( pageScroll, {time = 300, x = startX}) end end end local pageNum = 0 for i = 1, pageTotal do local page = display.newRect(pageScroll, pageNum \* w, 0, w,h ) page.anchorX = 0; page.anchorY = 0 page.name = i page:addEventListener('touch', scroller) if i == 2 then page:setFillColor(1,0,0,0.5) elseif i == 3 then page:setFillColor(0,0,1,0.5) end pageNum = pageNum + 1 end