Crash when page reloaded

Hi

I have a question. I have a .lua file where I load 3 scrollviews with some images.

The first time everything is ok but If I reload the page the app crashes.

Here the log:

Runtime error
    ?:0: attempt to index field ‘parent’ (a nil value)
    stack traceback:
        ?: in function <?:476>
        ?: in function <?:218>

I am not understand what I am doing wrong.

Here the code of the page:

local composer = require( "composer" ) local scene = composer.newScene() -- External libraries -- Initial settings and checkings local numPages = 8 -- number of pages in the project local sceneGroup = nil -- main group for all page elements local W = display.contentWidth; -- full width of the page local H = display.contentHeight; -- full height of the page local curPage = 5 -- number of the current page -- Button names local but\_back math.randomseed(os.time()) -- All layers on a table local layer = {} -- All audio files on a table local allAudios = {} -- Calculates anchow points local function repositionAnchor( object, newAnchorX, newAnchorY ) local origX = object.x; local origY = object.y if newAnchorX ~= 0.5 or newAnchorY ~= 0.5 then local width = object.width; local height = object.height local xCoord = width \* (newAnchorX - .5) local yCoord = height \* (newAnchorY - .5) object.x = origX + xCoord; object.y = origY + yCoord object.oriX = object.x; object.oriY = object.y end end -- Called when the scene's view does not exist: function scene:create( event ) -- view is not yet visible local sceneGroup = self.view -- Capture and set group position local function groupPos(obj) local minX, minY for i = 1, obj.numChildren do local currentRecord = obj[i] if i == 1 then minX = currentRecord.x - currentRecord.contentWidth \* 0.5 minY = currentRecord.y - currentRecord.contentHeight \* 0.5 end local mX = currentRecord.x - currentRecord.contentWidth \* 0.5 if mX \< minX then minX = mX end local mY = currentRecord.y - currentRecord.contentHeight \* 0.5 if mY \< minY then minY = mY end end obj.x = minX + obj.contentWidth \* 0.5 obj.y = minY + obj.contentHeight \* 0.5 end -- Multilingual items -- (TOP) External code will render here local function scrollListener( event ) local phase = event.phase if ( phase == "began" ) then print( "Scroll view was touched" ) elseif ( phase == "moved" ) then print( "Scroll view was moved" ) elseif ( phase == "ended" ) then startAnimation() end return true end function startAnimation() local bPosx, bPosy = layer.scroll\_bottom:getContentPosition() local tPosx, tPosy = layer.scroll\_top:getContentPosition() local mPosx, mPosy = layer.scroll\_middle:getContentPosition() local bPosDif = bPosx - tPosx local tPosDif = tPosx - mPosx print (bPosx) print (tPosx) print(mPosx) if(bPosDif \<= 20 and tPosDif \<= 20) then -- todo start animation print( "dif" ) if bPosx \>= -9000 and bPosx \<= -8200 then print( "dog" ) -- Loads videos layer.video = native.newVideo( 1004, 796, 1850, 1361 ) layer.video:toFront(); layer.video.oriX = layer.video.x; layer.video.oriY = layer.video.y layer.video.oriXs = layer.video.xScale; layer.video.oriYs = layer.video.yScale layer.video.alpha = 1; layer.video.oldAlpha = 1 layer.video:load( composer.videoDir.."dog.mp4", system.ResourceDirectory ) layer.video:play() layer.video.name = "video" sceneGroup:insert( layer.video); sceneGroup.video = layer.video end end end local widget = require("widget") -- kwkShape\_11 positioning layer.kwkShape\_11 = display.newImageRect( composer.imgDir.. "kwkshape\_11.png", 1907, 1433 ); layer.kwkShape\_11.x = 1011; layer.kwkShape\_11.y = 835; layer.kwkShape\_11.alpha = 1; layer.kwkShape\_11.oldAlpha = 1 layer.kwkShape\_11.oriX = layer.kwkShape\_11.x; layer.kwkShape\_11.oriY = layer.kwkShape\_11.y layer.kwkShape\_11.oriXs = layer.kwkShape\_11.xScale; layer.kwkShape\_11.oriYs = layer.kwkShape\_11.yScale layer.kwkShape\_11.name = "kwkShape\_11" sceneGroup:insert( layer.kwkShape\_11); sceneGroup.kwkShape\_11 = layer.kwkShape\_11 -- bear\_01 positioning layer.bear\_01 = display.newImageRect( composer.imgDir.. "p5\_bear\_01.jpg", 1648,332 ); layer.bear\_01.x = 1008; layer.bear\_01.y = 806; layer.bear\_01.alpha = 1; layer.bear\_01.oldAlpha = 1 layer.bear\_01.oriX = layer.bear\_01.x; layer.bear\_01.oriY = layer.bear\_01.y layer.bear\_01.oriXs = layer.bear\_01.xScale; layer.bear\_01.oriYs = layer.bear\_01.yScale layer.bear\_01.name = "bear\_01" sceneGroup:insert( layer.bear\_01); sceneGroup.bear\_01 = layer.bear\_01 -- bear\_02 positioning layer.bear\_02 = display.newImageRect( composer.imgDir.. "p5\_bear\_02.jpg", 1648, 474); layer.bear\_02.x = 1008; layer.bear\_02.y = 768; layer.bear\_02.alpha = 1; layer.bear\_02.oldAlpha = 1 layer.bear\_02.oriX = layer.bear\_02.x; layer.bear\_02.oriY = layer.bear\_02.y layer.bear\_02.oriXs = layer.bear\_02.xScale; layer.bear\_02.oriYs = layer.bear\_02.yScale layer.bear\_02.name = "bear\_02" sceneGroup:insert( layer.bear\_02); sceneGroup.bear\_02 = layer.bear\_02 -- bear\_03 positioning layer.bear\_03 = display.newImageRect( composer.imgDir.. "p5\_bear\_03.jpg", 1648, 329 ); layer.bear\_03.x = 1008; layer.bear\_03.y = 748; layer.bear\_03.alpha = 1; layer.bear\_03.oldAlpha = 1 layer.bear\_03.oriX = layer.bear\_03.x; layer.bear\_03.oriY = layer.bear\_03.y layer.bear\_03.oriXs = layer.bear\_03.xScale; layer.bear\_03.oriYs = layer.bear\_03.yScale layer.bear\_03.name = "bear\_03" sceneGroup:insert( layer.bear\_03); sceneGroup.bear\_03 = layer.bear\_03 -- bird\_01 positioning layer.bird\_01 = display.newImageRect( composer.imgDir.. "p5\_bird\_01.jpg", 1648, 332 ); layer.bird\_01.x = 2656; layer.bird\_01.y = 806; layer.bird\_01.alpha = 1; layer.bird\_01.oldAlpha = 1 layer.bird\_01.oriX = layer.bird\_01.x; layer.bird\_01.oriY = layer.bird\_01.y layer.bird\_01.oriXs = layer.bird\_01.xScale; layer.bird\_01.oriYs = layer.bird\_01.yScale layer.bird\_01.name = "bird\_01" sceneGroup:insert( layer.bird\_01); sceneGroup.bird\_01 = layer.bird\_01 -- bird\_02 positioning layer.bird\_02 = display.newImageRect( composer.imgDir.. "p5\_bird\_02.jpg",1648, 474 ); layer.bird\_02.x = 2656; layer.bird\_02.y = 768; layer.bird\_02.alpha = 1; layer.bird\_02.oldAlpha = 1 layer.bird\_02.oriX = layer.bird\_02.x; layer.bird\_02.oriY = layer.bird\_02.y layer.bird\_02.oriXs = layer.bird\_02.xScale; layer.bird\_02.oriYs = layer.bird\_02.yScale layer.bird\_02.name = "bird\_02" sceneGroup:insert( layer.bird\_02); sceneGroup.bird\_02 = layer.bird\_02 -- bird\_03 positioning layer.bird\_03 = display.newImageRect( composer.imgDir.. "p5\_bird\_03.jpg", 1648, 329 ); layer.bird\_03.x = 2656; layer.bird\_03.y = 748; layer.bird\_03.alpha = 1; layer.bird\_03.oldAlpha = 1 layer.bird\_03.oriX = layer.bird\_03.x; layer.bird\_03.oriY = layer.bird\_03.y layer.bird\_03.oriXs = layer.bird\_03.xScale; layer.bird\_03.oriYs = layer.bird\_03.yScale layer.bird\_03.name = "bird\_03" sceneGroup:insert( layer.bird\_03); sceneGroup.bird\_03 = layer.bird\_03 -- bunny\_01 positioning layer.bunny\_01 = display.newImageRect( composer.imgDir.. "p5\_bunny\_01.jpg", 1648, 332 ); layer.bunny\_01.x = 4304; layer.bunny\_01.y = 806; layer.bunny\_01.alpha = 1; layer.bunny\_01.oldAlpha = 1 layer.bunny\_01.oriX = layer.bunny\_01.x; layer.bunny\_01.oriY = layer.bunny\_01.y layer.bunny\_01.oriXs = layer.bunny\_01.xScale; layer.bunny\_01.oriYs = layer.bunny\_01.yScale layer.bunny\_01.name = "bunny\_01" sceneGroup:insert( layer.bunny\_01); sceneGroup.bunny\_01 = layer.bunny\_01 -- bunny\_02 positioning layer.bunny\_02 = display.newImageRect( composer.imgDir.. "p5\_bunny\_02.jpg", 1648, 474 ); layer.bunny\_02.x = 4304; layer.bunny\_02.y = 768; layer.bunny\_02.alpha = 1; layer.bunny\_02.oldAlpha = 1 layer.bunny\_02.oriX = layer.bunny\_02.x; layer.bunny\_02.oriY = layer.bunny\_02.y layer.bunny\_02.oriXs = layer.bunny\_02.xScale; layer.bunny\_02.oriYs = layer.bunny\_02.yScale layer.bunny\_02.name = "bunny\_02" sceneGroup:insert( layer.bunny\_02); sceneGroup.bunny\_02 = layer.bunny\_02 -- bunny\_03 positioning layer.bunny\_03 = display.newImageRect( composer.imgDir.. "p5\_bunny\_03.jpg", 1648, 329 ); layer.bunny\_03.x = 4304; layer.bunny\_03.y = 748; layer.bunny\_03.alpha = 1; layer.bunny\_03.oldAlpha = 1 layer.bunny\_03.oriX = layer.bunny\_03.x; layer.bunny\_03.oriY = layer.bunny\_03.y layer.bunny\_03.oriXs = layer.bunny\_03.xScale; layer.bunny\_03.oriYs = layer.bunny\_03.yScale layer.bunny\_03.name = "bunny\_03" sceneGroup:insert( layer.bunny\_03); sceneGroup.bunny\_03 = layer.bunny\_03 -- cat\_01 positioning layer.cat\_01 = display.newImageRect( composer.imgDir.. "p5\_cat\_01.jpg", 1648, 332 ); layer.cat\_01.x = 5952; layer.cat\_01.y = 806; layer.cat\_01.alpha = 1; layer.cat\_01.oldAlpha = 1 layer.cat\_01.oriX = layer.cat\_01.x; layer.cat\_01.oriY = layer.cat\_01.y layer.cat\_01.oriXs = layer.cat\_01.xScale; layer.cat\_01.oriYs = layer.cat\_01.yScale layer.cat\_01.name = "cat\_01" sceneGroup:insert( layer.cat\_01); sceneGroup.cat\_01 = layer.cat\_01 -- cat\_02 positioning layer.cat\_02 = display.newImageRect( composer.imgDir.. "p5\_cat\_02.jpg", 1648, 474 ); layer.cat\_02.x = 5952; layer.cat\_02.y = 768; layer.cat\_02.alpha = 1; layer.cat\_02.oldAlpha = 1 layer.cat\_02.oriX = layer.cat\_02.x; layer.cat\_02.oriY = layer.cat\_02.y layer.cat\_02.oriXs = layer.cat\_02.xScale; layer.cat\_02.oriYs = layer.cat\_02.yScale layer.cat\_02.name = "cat\_02" sceneGroup:insert( layer.cat\_02); sceneGroup.cat\_02 = layer.cat\_02 -- cat\_03 positioning layer.cat\_03 = display.newImageRect( composer.imgDir.. "p5\_cat\_03.jpg", 1648, 329 ); layer.cat\_03.x = 5952; layer.cat\_03.y = 748; layer.cat\_03.alpha = 1; layer.cat\_03.oldAlpha = 1 layer.cat\_03.oriX = layer.cat\_03.x; layer.cat\_03.oriY = layer.cat\_03.y layer.cat\_03.oriXs = layer.cat\_03.xScale; layer.cat\_03.oriYs = layer.cat\_03.yScale layer.cat\_03.name = "cat\_03" sceneGroup:insert( layer.cat\_03); sceneGroup.cat\_03 = layer.cat\_03 -- crow\_01 positioning layer.crow\_01 = display.newImageRect( composer.imgDir.. "p5\_crow\_01.jpg", 1648, 332 ); layer.crow\_01.x = 7600; layer.crow\_01.y = 806; layer.crow\_01.alpha = 1; layer.crow\_01.oldAlpha = 1 layer.crow\_01.oriX = layer.crow\_01.x; layer.crow\_01.oriY = layer.crow\_01.y layer.crow\_01.oriXs = layer.crow\_01.xScale; layer.crow\_01.oriYs = layer.crow\_01.yScale layer.crow\_01.name = "crow\_01" sceneGroup:insert( layer.crow\_01); sceneGroup.crow\_01 = layer.crow\_01 -- crow\_02 positioning layer.crow\_02 = display.newImageRect( composer.imgDir.. "p5\_crow\_02.jpg", 1648, 474 ); layer.crow\_02.x = 7600; layer.crow\_02.y = 768; layer.crow\_02.alpha = 1; layer.crow\_02.oldAlpha = 1 layer.crow\_02.oriX = layer.crow\_02.x; layer.crow\_02.oriY = layer.crow\_02.y layer.crow\_02.oriXs = layer.crow\_02.xScale; layer.crow\_02.oriYs = layer.crow\_02.yScale layer.crow\_02.name = "crow\_02" sceneGroup:insert( layer.crow\_02); sceneGroup.crow\_02 = layer.crow\_02 -- crow\_03 positioning layer.crow\_03 = display.newImageRect( composer.imgDir.. "p5\_crow\_03.jpg", 1648, 329 ); layer.crow\_03.x = 7600; layer.crow\_03.y = 748; layer.crow\_03.alpha = 1; layer.crow\_03.oldAlpha = 1 layer.crow\_03.oriX = layer.crow\_03.x; layer.crow\_03.oriY = layer.crow\_03.y layer.crow\_03.oriXs = layer.crow\_03.xScale; layer.crow\_03.oriYs = layer.crow\_03.yScale layer.crow\_03.name = "crow\_03" sceneGroup:insert( layer.crow\_03); sceneGroup.crow\_03 = layer.crow\_03 -- dog\_01 positioning layer.dog\_01 = display.newImageRect( composer.imgDir.. "p5\_dog\_01.jpg", 1648, 332 ); layer.dog\_01.x = 9248; layer.dog\_01.y = 806; layer.dog\_01.alpha = 1; layer.dog\_01.oldAlpha = 1 layer.dog\_01.oriX = layer.dog\_01.x; layer.dog\_01.oriY = layer.dog\_01.y layer.dog\_01.oriXs = layer.dog\_01.xScale; layer.dog\_01.oriYs = layer.dog\_01.yScale layer.dog\_01.name = "dog\_01" sceneGroup:insert( layer.dog\_01); sceneGroup.dog\_01 = layer.dog\_01 -- dog\_02 positioning layer.dog\_02 = display.newImageRect( composer.imgDir.. "p5\_dog\_02.jpg", 1648, 474 ); layer.dog\_02.x = 9248; layer.dog\_02.y = 768; layer.dog\_02.alpha = 1; layer.dog\_02.oldAlpha = 1 layer.dog\_02.oriX = layer.dog\_02.x; layer.dog\_02.oriY = layer.dog\_02.y layer.dog\_02.oriXs = layer.dog\_02.xScale; layer.dog\_02.oriYs = layer.dog\_02.yScale layer.dog\_02.name = "dog\_02" sceneGroup:insert( layer.dog\_02); sceneGroup.dog\_02 = layer.dog\_02 -- dog\_03 positioning layer.dog\_03 = display.newImageRect( composer.imgDir.. "p5\_dog\_03.jpg", 1648, 329 ); layer.dog\_03.x = 9248; layer.dog\_03.y = 748; layer.dog\_03.alpha = 1; layer.dog\_03.oldAlpha = 1 layer.dog\_03.oriX = layer.dog\_03.x; layer.dog\_03.oriY = layer.dog\_03.y layer.dog\_03.oriXs = layer.dog\_03.xScale; layer.dog\_03.oriYs = layer.dog\_03.yScale layer.dog\_03.name = "dog\_03" sceneGroup:insert( layer.dog\_03); sceneGroup.dog\_03 = layer.dog\_03 -- duck\_01 positioning layer.duck\_01 = display.newImageRect( composer.imgDir.. "p5\_duck\_01.jpg", 1648, 332 ); layer.duck\_01.x = 10896; layer.duck\_01.y = 806; layer.duck\_01.alpha = 1; layer.duck\_01.oldAlpha = 1 layer.duck\_01.oriX = layer.duck\_01.x; layer.duck\_01.oriY = layer.duck\_01.y layer.duck\_01.oriXs = layer.duck\_01.xScale; layer.duck\_01.oriYs = layer.duck\_01.yScale layer.duck\_01.name = "duck\_01" sceneGroup:insert( layer.duck\_01); sceneGroup.duck\_01 = layer.duck\_01 -- duck\_02 positioning layer.duck\_02 = display.newImageRect( composer.imgDir.. "p5\_duck\_02.jpg", 1648, 474 ); layer.duck\_02.x = 10896; layer.duck\_02.y = 768; layer.duck\_02.alpha = 1; layer.duck\_02.oldAlpha = 1 layer.duck\_02.oriX = layer.duck\_02.x; layer.duck\_02.oriY = layer.duck\_02.y layer.duck\_02.oriXs = layer.duck\_02.xScale; layer.duck\_02.oriYs = layer.duck\_02.yScale layer.duck\_02.name = "duck\_02" sceneGroup:insert( layer.duck\_02); sceneGroup.duck\_02 = layer.duck\_02 -- duck\_03 positioning layer.duck\_03 = display.newImageRect( composer.imgDir.. "p5\_duck\_03.jpg", 1648, 329 ); layer.duck\_03.x = 10896; layer.duck\_03.y = 748; layer.duck\_03.alpha = 1; layer.duck\_03.oldAlpha = 1 layer.duck\_03.oriX = layer.duck\_03.x; layer.duck\_03.oriY = layer.duck\_03.y layer.duck\_03.oriXs = layer.duck\_03.xScale; layer.duck\_03.oriYs = layer.duck\_03.yScale layer.duck\_03.name = "duck\_03" sceneGroup:insert( layer.duck\_03); sceneGroup.duck\_03 = layer.duck\_03 -- fox\_01 positioning layer.fox\_01 = display.newImageRect( composer.imgDir.. "p5\_fox\_01.jpg", 1648, 332 ); layer.fox\_01.x = 12544; layer.fox\_01.y = 806; layer.fox\_01.alpha = 1; layer.fox\_01.oldAlpha = 1 layer.fox\_01.oriX = layer.fox\_01.x; layer.fox\_01.oriY = layer.fox\_01.y layer.fox\_01.oriXs = layer.fox\_01.xScale; layer.fox\_01.oriYs = layer.fox\_01.yScale layer.fox\_01.name = "fox\_01" sceneGroup:insert( layer.fox\_01); sceneGroup.fox\_01 = layer.fox\_01 -- fox\_02 positioning layer.fox\_02 = display.newImageRect( composer.imgDir.. "p5\_fox\_02.jpg", 1648, 474 ); layer.fox\_02.x = 12544; layer.fox\_02.y = 768; layer.fox\_02.alpha = 1; layer.fox\_02.oldAlpha = 1 layer.fox\_02.oriX = layer.fox\_02.x; layer.fox\_02.oriY = layer.fox\_02.y layer.fox\_02.oriXs = layer.fox\_02.xScale; layer.fox\_02.oriYs = layer.fox\_02.yScale layer.fox\_02.name = "fox\_02" sceneGroup:insert( layer.fox\_02); sceneGroup.fox\_02 = layer.fox\_02 -- fox\_03 positioning layer.fox\_03 = display.newImageRect( composer.imgDir.. "p5\_fox\_03.jpg",1648, 329 ); layer.fox\_03.x = 12544; layer.fox\_03.y = 748; layer.fox\_03.alpha = 1; layer.fox\_03.oldAlpha = 1 layer.fox\_03.oriX = layer.fox\_03.x; layer.fox\_03.oriY = layer.fox\_03.y layer.fox\_03.oriXs = layer.fox\_03.xScale; layer.fox\_03.oriYs = layer.fox\_03.yScale layer.fox\_03.name = "fox\_03" sceneGroup:insert( layer.fox\_03); sceneGroup.fox\_03 = layer.fox\_03 -- lion\_01 positioning layer.lion\_01 = display.newImageRect( composer.imgDir.. "p5\_lion\_01.jpg", 1648, 332 ); layer.lion\_01.x = 14192; layer.lion\_01.y = 806; layer.lion\_01.alpha = 1; layer.lion\_01.oldAlpha = 1 layer.lion\_01.oriX = layer.lion\_01.x; layer.lion\_01.oriY = layer.lion\_01.y layer.lion\_01.oriXs = layer.lion\_01.xScale; layer.lion\_01.oriYs = layer.lion\_01.yScale layer.lion\_01.name = "lion\_01" sceneGroup:insert( layer.lion\_01); sceneGroup.lion\_01 = layer.lion\_01 -- lion\_02 positioning layer.lion\_02 = display.newImageRect( composer.imgDir.. "p5\_lion\_02.jpg", 1648, 474 ); layer.lion\_02.x = 14192; layer.lion\_02.y = 768; layer.lion\_02.alpha = 1; layer.lion\_02.oldAlpha = 1 layer.lion\_02.oriX = layer.lion\_02.x; layer.lion\_02.oriY = layer.lion\_02.y layer.lion\_02.oriXs = layer.lion\_02.xScale; layer.lion\_02.oriYs = layer.lion\_02.yScale layer.lion\_02.name = "lion\_02" sceneGroup:insert( layer.lion\_02); sceneGroup.lion\_02 = layer.lion\_02 -- lion\_03 positioning layer.lion\_03 = display.newImageRect( composer.imgDir.. "p5\_lion\_03.jpg", 1648, 329 ); layer.lion\_03.x = 14192; layer.lion\_03.y = 748; layer.lion\_03.alpha = 1; layer.lion\_03.oldAlpha = 1 layer.lion\_03.oriX = layer.lion\_03.x; layer.lion\_03.oriY = layer.lion\_03.y layer.lion\_03.oriXs = layer.lion\_03.xScale; layer.lion\_03.oriYs = layer.lion\_03.yScale layer.lion\_03.name = "lion\_03" sceneGroup:insert( layer.lion\_03); sceneGroup.lion\_03 = layer.lion\_03 -- mouse\_01 positioning layer.mouse\_01 = display.newImageRect( composer.imgDir.. "p5\_mouse\_01.jpg", 1648, 332); layer.mouse\_01.x = 15840; layer.mouse\_01.y = 806; layer.mouse\_01.alpha = 1; layer.mouse\_01.oldAlpha = 1 layer.mouse\_01.oriX = layer.mouse\_01.x; layer.mouse\_01.oriY = layer.mouse\_01.y layer.mouse\_01.oriXs = layer.mouse\_01.xScale; layer.mouse\_01.oriYs = layer.mouse\_01.yScale layer.mouse\_01.name = "mouse\_01" sceneGroup:insert( layer.mouse\_01); sceneGroup.mouse\_01 = layer.mouse\_01 -- mouse\_02 positioning layer.mouse\_02 = display.newImageRect( composer.imgDir.. "p5\_mouse\_02.jpg", 1648, 474 ); layer.mouse\_02.x = 15840; layer.mouse\_02.y = 768; layer.mouse\_02.alpha = 1; layer.mouse\_02.oldAlpha = 1 layer.mouse\_02.oriX = layer.mouse\_02.x; layer.mouse\_02.oriY = layer.mouse\_02.y layer.mouse\_02.oriXs = layer.mouse\_02.xScale; layer.mouse\_02.oriYs = layer.mouse\_02.yScale layer.mouse\_02.name = "mouse\_02" sceneGroup:insert( layer.mouse\_02); sceneGroup.mouse\_02 = layer.mouse\_02 -- mouse\_03 positioning layer.mouse\_03 = display.newImageRect( composer.imgDir.. "p5\_mouse\_03.jpg", 1878, 329 ); layer.mouse\_03.x = 15840; layer.mouse\_03.y = 748; layer.mouse\_03.alpha = 1; layer.mouse\_03.oldAlpha = 1 layer.mouse\_03.oriX = layer.mouse\_03.x; layer.mouse\_03.oriY = layer.mouse\_03.y layer.mouse\_03.oriXs = layer.mouse\_03.xScale; layer.mouse\_03.oriYs = layer.mouse\_03.yScale layer.mouse\_03.name = "mouse\_03" sceneGroup:insert( layer.mouse\_03); sceneGroup.mouse\_03 = layer.mouse\_03 -- turtle\_01 positioning layer.turtle\_01 = display.newImageRect( composer.imgDir.. "p5\_turtle\_01.jpg", 1648, 332 ); layer.turtle\_01.x = 17488; layer.turtle\_01.y = 806; layer.turtle\_01.alpha = 1; layer.turtle\_01.oldAlpha = 1 layer.turtle\_01.oriX = layer.turtle\_01.x; layer.turtle\_01.oriY = layer.turtle\_01.y layer.turtle\_01.oriXs = layer.turtle\_01.xScale; layer.turtle\_01.oriYs = layer.turtle\_01.yScale layer.turtle\_01.name = "turtle\_01" sceneGroup:insert( layer.turtle\_01); sceneGroup.turtle\_01 = layer.turtle\_01 -- turtle\_02 positioning layer.turtle\_02 = display.newImageRect( composer.imgDir.. "p5\_turtle\_02.jpg", 1648, 474); layer.turtle\_02.x = 17488; layer.turtle\_02.y = 768; layer.turtle\_02.alpha = 1; layer.turtle\_02.oldAlpha = 1 layer.turtle\_02.oriX = layer.turtle\_02.x; layer.turtle\_02.oriY = layer.turtle\_02.y layer.turtle\_02.oriXs = layer.turtle\_02.xScale; layer.turtle\_02.oriYs = layer.turtle\_02.yScale layer.turtle\_02.name = "turtle\_02" sceneGroup:insert( layer.turtle\_02); sceneGroup.turtle\_02 = layer.turtle\_02 -- turtle\_03 positioning layer.turtle\_03 = display.newImageRect( composer.imgDir.. "p5\_turtle\_03.jpg", 1648, 329 ); layer.turtle\_03.x = 17488; layer.turtle\_03.y = 748; layer.turtle\_03.alpha = 1; layer.turtle\_03.oldAlpha = 1 layer.turtle\_03.oriX = layer.turtle\_03.x; layer.turtle\_03.oriY = layer.turtle\_03.y layer.turtle\_03.oriXs = layer.turtle\_03.xScale; layer.turtle\_03.oriYs = layer.turtle\_03.yScale layer.turtle\_03.name = "turtle\_03" sceneGroup:insert( layer.turtle\_03); sceneGroup.turtle\_03 = layer.turtle\_03 -- Group(s) creation layer.top = display.newGroup(); layer.top.anchorX = 0.5; layer.top.anchorY = 0.5; layer.top.anchorChildren = true layer.top:insert(layer.turtle\_01) layer.top:insert(layer.mouse\_01) layer.top:insert(layer.lion\_01) layer.top:insert(layer.fox\_01) layer.top:insert(layer.duck\_01) layer.top:insert(layer.dog\_01) layer.top:insert(layer.crow\_01) layer.top:insert(layer.cat\_01) layer.top:insert(layer.bunny\_01) layer.top:insert(layer.bird\_01) layer.top:insert(layer.bear\_01) layer.top.alpha = 1 layer.top.oldAlpha = layer.top.alpha layer.top.oriX = 30; layer.top.oriY = layer.top.y layer.top.oriXs = layer.top.xScale; layer.top.oriYs = layer.top.yScale sceneGroup:insert( layer.top) groupPos( layer.top) layer.middle = display.newGroup(); layer.middle.anchorX = 0.5; layer.middle.anchorY = 0.5; layer.middle.anchorChildren = true layer.middle:insert(layer.turtle\_02) layer.middle:insert(layer.mouse\_02) layer.middle:insert(layer.lion\_02) layer.middle:insert(layer.fox\_02) layer.middle:insert(layer.duck\_02) layer.middle:insert(layer.dog\_02) layer.middle:insert(layer.crow\_02) layer.middle:insert(layer.cat\_02) layer.middle:insert(layer.bunny\_02) layer.middle:insert(layer.bird\_02) layer.middle:insert(layer.bear\_02) layer.middle.alpha = 1 layer.middle.oldAlpha = layer.middle.alpha layer.middle.oriX = layer.middle.x; layer.middle.oriY = layer.middle.y layer.middle.oriXs = layer.middle.xScale; layer.middle.oriYs = layer.middle.yScale sceneGroup:insert( layer.middle) groupPos( layer.middle) layer.bottom = display.newGroup(); layer.bottom.anchorX = 0.5; layer.bottom.anchorY = 0.5; layer.bottom.anchorChildren = true layer.bottom:insert(layer.turtle\_03) layer.bottom:insert(layer.mouse\_03) layer.bottom:insert(layer.lion\_03) layer.bottom:insert(layer.fox\_03) layer.bottom:insert(layer.duck\_03) layer.bottom:insert(layer.dog\_03) layer.bottom:insert(layer.crow\_03) layer.bottom:insert(layer.cat\_03) layer.bottom:insert(layer.bunny\_03) layer.bottom:insert(layer.bird\_03) layer.bottom:insert(layer.bear\_03) layer.bottom.alpha = 1 layer.bottom.oldAlpha = layer.bottom.alpha layer.bottom.oriX = layer.bottom.x; layer.bottom.oriY = layer.bottom.y layer.bottom.oriXs = layer.bottom.xScale; layer.bottom.oriYs = layer.bottom.yScale sceneGroup:insert( layer.bottom) groupPos( layer.bottom) -- Scroll objects in groups and page (if any) layer.scroll\_bottom = widget.newScrollView { top = 1068, left = 187, width = 1648, height = 329, scrollWidth = layer.bottom.width, scrollHeight = layer.bottom.height, hideScrollBar = true, hideBackground = true, listener = scrollListener, verticalScrollDisabled = true; } sceneGroup:insert( layer.scroll\_bottom) layer.scroll\_bottom:insert(layer.bottom) layer.bottom.x = layer.bottom.width / 2; layer.bottom.y = layer.bottom.height / 2; layer.scroll\_middle = widget.newScrollView { top = 594, left = 187, width = 1648, height = 474, scrollWidth = layer.middle.width, scrollHeight = layer.middle.height, hideScrollBar = true, hideBackground = true, listener = scrollListener, verticalScrollDisabled = true; } sceneGroup:insert( layer.scroll\_middle) layer.scroll\_middle:insert(layer.middle) layer.middle.x = layer.middle.width / 2; layer.middle.y = layer.middle.height / 2; layer.scroll\_top = widget.newScrollView { top = 270, left = 187, width = 1648, height = 332, scrollWidth = layer.top.width, scrollHeight = layer.top.height, hideScrollBar = true, hideBackground = true, listener = scrollListener, verticalScrollDisabled = true; } sceneGroup:insert( layer.scroll\_top) layer.scroll\_top:insert(layer.top) layer.top.x = layer.top.width / 2; layer.top.y = layer.top.height / 2; -- kwkclouds positioning layer.kwkclouds = display.newImageRect( composer.imgDir.. "kwkclouds.jpg", 2102, 1550 ); layer.kwkclouds.x = 1011; layer.kwkclouds.y = 763; layer.kwkclouds.alpha = 1; layer.kwkclouds.oldAlpha = 1 layer.kwkclouds.oriX = layer.kwkclouds.x; layer.kwkclouds.oriY = layer.kwkclouds.y layer.kwkclouds.oriXs = layer.kwkclouds.xScale; layer.kwkclouds.oriYs = layer.kwkclouds.yScale layer.kwkclouds.name = "kwkclouds" sceneGroup:insert( 1, layer.kwkclouds); sceneGroup.kwkclouds = layer.kwkclouds -- kwkmusic positioning layer.kwkmusic = display.newImageRect( composer.imgDir.. "kwkmusic.png", 218, 218 ); layer.kwkmusic.x = 1898; layer.kwkmusic.y = 122; layer.kwkmusic.alpha = 1; layer.kwkmusic.oldAlpha = 1 layer.kwkmusic.oriX = layer.kwkmusic.x; layer.kwkmusic.oriY = layer.kwkmusic.y layer.kwkmusic.oriXs = layer.kwkmusic.xScale; layer.kwkmusic.oriYs = layer.kwkmusic.yScale layer.kwkmusic.name = "kwkmusic" sceneGroup:insert( layer.kwkmusic); sceneGroup.kwkmusic = layer.kwkmusic -- kwkback positioning layer.kwkback = display.newImageRect( composer.imgDir.. "kwkback.png", 218, 218 ); layer.kwkback.x = 152; layer.kwkback.y = 136; layer.kwkback.alpha = 1; layer.kwkback.oldAlpha = 1 layer.kwkback.oriX = layer.kwkback.x; layer.kwkback.oriY = layer.kwkback.y layer.kwkback.oriXs = layer.kwkback.xScale; layer.kwkback.oriYs = layer.kwkback.yScale layer.kwkback.name = "kwkback" sceneGroup:insert(layer.kwkback); sceneGroup.kwkback = layer.kwkback -- Group(s) creation -- (MIDDLE) External code will render here -- Repositions according anchor points end -- ends scene:create -- Called when the scene's view is about to 'will/load' or 'did/appear': function scene:show( event ) local sceneGroup = self.view if event.phase == "did" then -- purges previous and next scenes if nil~= composer.getScene("page\_4") then composer.removeScene("page\_4", true) end if nil~= composer.getScene("page\_6") then composer.removeScene("page\_6", true) end -- Check for previous bookmarks if (tonumber(composer.kBookmark) == 1) then local path = system.pathForFile( "book.txt", system.DocumentsDirectory ) local file = io.open( path, "w+" ) file:write ( curPage.."\n1" ) io.close( file ) end -- Check for for auto play settings if (tonumber(composer.kAutoPlay) \> 0) then local function act\_autoPlay(event) if(curPage \< numPages) then if(composer.kBidi == false) then composer.gotoScene( "page\_"..curPage+1, { effect = "fromRight"} ) else composer.gotoScene( "page\_"..curPage-1, { effect = "fromLeft"} ) end end end composer.timerStash.timer\_AP = timer.performWithDelay( composer.kAutoPlay\*1000, act\_autoPlay, 1 ) end -- Button event listeners local function onkwkbackEvent(event) but\_back(layer.kwkback) return true end layer.kwkback:addEventListener("tap", onkwkbackEvent ) -- Button functions function but\_back(self) local myClosure\_switch82 = function() local options = { effect = "fromRight"} if nil~= composer.getScene("page\_1") then composer.removeScene("page\_1", true) end if self.type == "press" then self:setEnabled(false) else self:removeEventListener( "tap", onkwkbackEvent ) end composer.gotoScene( "page\_1", options ) end composer.timerStash.newTimer\_782 = timer.performWithDelay(0, myClosure\_switch82, 1) end -- do not swipe this page -- (BOTTOM) External code will render here -- Preloads next scene composer.timerStash.timer\_pl = timer.performWithDelay( 5000, function() composer.loadScene( "page\_6") end) end --ends phase did end -- ends scene:show function scene:hide( event ) -- all disposal happens here if event.phase == "will" then composer.cancelAllTimers(); elseif event.phase == "did" then composer.test = nil end end function scene:destroy( event ) -- Remove all unecessary composer items end scene:addEventListener( "create", scene ) scene:addEventListener( "show", scene ) scene:addEventListener( "hide", scene ) scene:addEventListener( "destroy", scene ) return scene

What do you mean by “reload”?  Are you reloading the simulator to get a fresh start, or are you trying to do a composer.gotoScene() on an existing scene?

Hi Rob

I have a main screen. If I press a button I doing this:

function but\_rotation(self) local myClosure\_switch84 = function() local options = { effect = "fromRight"} if nil~= composer.getScene("page\_5") then composer.removeScene("page\_5", true) end if self.type == "press" then self:setEnabled(false) else self:removeEventListener( "tap", onrotationEvent ) end composer.gotoScene( "page\_5", options ) end composer.timerStash.newTimer\_884 = timer.performWithDelay(0, myClosure\_switch84, 1) end 

Then I load the code of my first post and switch the scene.

In my scene I have a back button

 -- Button functions function but\_back(self) local myClosure\_switch82 = function() local options = { effect = "fromRight"} if nil~= composer.getScene("page\_1") then composer.removeScene("page\_1", true) end if self.type == "press" then self:setEnabled(false) else self:removeEventListener( "tap", onkwkbackEvent ) end composer.gotoScene( "page\_1", options ) end composer.timerStash.newTimer\_782 = timer.performWithDelay(0, myClosure\_switch82, 1) end 

I going back to my main screen. If I press now the button again I got the error.

What happens if you use false in the calls to removeScene() instead of true?

What do you mean by “reload”?  Are you reloading the simulator to get a fresh start, or are you trying to do a composer.gotoScene() on an existing scene?

Hi Rob

I have a main screen. If I press a button I doing this:

function but\_rotation(self) local myClosure\_switch84 = function() local options = { effect = "fromRight"} if nil~= composer.getScene("page\_5") then composer.removeScene("page\_5", true) end if self.type == "press" then self:setEnabled(false) else self:removeEventListener( "tap", onrotationEvent ) end composer.gotoScene( "page\_5", options ) end composer.timerStash.newTimer\_884 = timer.performWithDelay(0, myClosure\_switch84, 1) end 

Then I load the code of my first post and switch the scene.

In my scene I have a back button

 -- Button functions function but\_back(self) local myClosure\_switch82 = function() local options = { effect = "fromRight"} if nil~= composer.getScene("page\_1") then composer.removeScene("page\_1", true) end if self.type == "press" then self:setEnabled(false) else self:removeEventListener( "tap", onkwkbackEvent ) end composer.gotoScene( "page\_1", options ) end composer.timerStash.newTimer\_782 = timer.performWithDelay(0, myClosure\_switch82, 1) end 

I going back to my main screen. If I press now the button again I got the error.

What happens if you use false in the calls to removeScene() instead of true?