Note that there are some explanatory texts on larger screens.

plurals
  1. POcorona storyboard buttons not removed properly from next scene
    primarykey
    data
    text
    <p>OK there are many answers to this question, but I cant seem to get it to work. My buttons are created in function scene:createScene( event ) and when I move on to the next scene, I'm trying scenePurge and removing buttons individually but it does not seem to be working. On the next scene the button is not visible, but if I press where the button was on the previous scene it is still active. What is the best way to remove these objects?</p> <pre><code> local storyboard = require( "storyboard" ) local scene = storyboard.newScene() --storyboard.removeScene( "login" ) --------------------------------------------------------------------------------- -- BEGINNING OF YOUR IMPLEMENTATION --------------------------------------------------------------------------------- local image, image2 -- Called when the scene's view does not exist: function scene:createScene( event ) local widget = require( "widget" ) local p1ButtonRelease = function( event ) storyboard.gotoScene( "maths_dif", "slideLeft", 1000 ) print("touch") return true end local p2ButtonRelease = function( event ) storyboard.gotoScene( "words", "slideLeft", 1000 ) print("touch") return true end local screenGroup = self.view image = display.newImage( "images/Background(640x480).png", -20 ,0 ) image2 = display.newImage( "Logo_small.png", 170,0) --screenGroup:insert( image ) print( "\n2: createScene event" ) local p1Button = widget.newButton{ default = "images/SinglePlayer_button.png", over = "images/SinglePlayer_button.png", --onPress = button1Press, onRelease = p1ButtonRelease, -- fontSize = 20, -- labelColor = { default={ 255, 250, 250}, over={ 0, 0, 0,} }, -- label = "+", -- emboss = true } local p2Button = widget.newButton{ default = "images/2Player_button.png", over = "images/2Player_button.png", --onPress = button1Press, onRelease = p2ButtonRelease, -- fontSize = 20, -- labelColor = { default={ 255, 250, 250}, over={ 0, 0, 0,} }, -- label = "+", -- emboss = true } p1Button.x = 240; p1Button.y = 180 p2Button.x = 240; p2Button.y = 260 end -- Called immediately after scene has moved onscreen: function scene:enterScene( event ) print( "2: enterScene event" ) -- remove previous scene's view storyboard.purgeScene( "login" ) display.remove(p1Button) -- -- Update Lua memory text display -- local showMem = function() image:addEventListener( "touch", image ) -- text3.isVisible = true -- text2.text = text2.text .. collectgarbage("count")/1000 .. "MB" -- text2.x = display.contentWidth * 0.5 -- end -- memTimer = timer.performWithDelay( 1000, showMem, 1 ) end -- Called when scene is about to move offscreen: function scene:exitScene() print( "2: exitScene event" ) storyboard.removeScene("login") storyboard.removeScene("words") storyboard.removeScene("guess_word") storyboard.removeScene("maths_dif") storyboard.removeScene("scene1") display.remove(p1Button) p1Button = nil display.remove(p2Button) p2Button = nil -- remove touch listener for image image:removeEventListener( "touch", image ) end -- Called prior to the removal of scene's "view" (display group) function scene:destroyScene( event ) print( "((destroying scene 2's view))" ) end --------------------------------------------------------------------------------- -- END OF YOUR IMPLEMENTATION --------------------------------------------------------------------------------- -- "createScene" event is dispatched if scene's view does not exist scene:addEventListener( "createScene", scene ) -- "enterScene" event is dispatched whenever scene transition has finished scene:addEventListener( "enterScene", scene ) -- "exitScene" event is dispatched before next scene's transition begins scene:addEventListener( "exitScene", scene ) -- "destroyScene" event is dispatched before view is unloaded, which can be -- automatically unloaded in low memory situations, or explicitly via a call to -- storyboard.purgeScene() or storyboard.removeScene(). scene:addEventListener( "destroyScene", scene ) --------------------------------------------------------------------------------- return scene </code></pre> <p>I'm trying to remove objects, so that the won't affect the next scene, but cant seem to do it.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload