They are not in Create, but in show.
Here is the code for my whole title screen.
local composer = require( "composer" ) local scene = composer.newScene() -- ----------------------------------------------------------------------------------------------------------------- -- All code outside of the listener functions will only be executed ONCE unless "composer.removeScene()" is called. -- ----------------------------------------------------------------------------------------------------------------- -- local forward references should go here --Transition Settings local options = { effect = "crossFade", time = 2000, } centerPlus = display.contentCenterX / 2 -- ------------------------------------------------------------------------------- -- "scene:create()" function scene:create( event ) local sceneGroup = self.view -- Initialize the scene here. -- Example: add display objects to "sceneGroup", add touch listeners, etc. print( "Title Page" ) local bgImage = display.newImage( sceneGroup, "img/bg.png", display.contentCenterX, display.contentHeight, true ) bgImage.xScale = 1.15 bgImage.yScale = 1.15 bgImage.anchorX = .5 bgImage.anchorY = 1 end -- "scene:show()" function scene:show( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then -- Called when the scene is still off screen (but is about to come on screen). announcement = display.newText( sceneGroup, "This app is still being created. It may still have many bugs. Please report them and any suggestions to thetekbytes@gmail.com Thanks!",0,0, native.systemFont, 10 ) announcement.anchorX = 0 announcement.anchorY = 0 announcement.x = display.contentWidth + 30 announcement.y = 7 elseif ( phase == "did" ) then -- Called when the scene is now on screen. -- Insert code here to make the scene come alive. -- Example: start timers, begin animation, play audio, etc. --Scrolling Text local function textscroll() if (announcement.x \> display.contentWidth) then print( "Marquee Start" ) transition.to( announcement, {time=10000, x=0-(display.contentWidth\*2), y=7} ) elseif (announcement.x \<= 0-display.contentWidth) then print( "resetting marquee" ) transition.to( announcement, {time=0, x= display.contentWidth + 30, y = 7}) else print( "marquee moving" ) end end --Marquee BG local announcementBG = display.newRect( sceneGroup, 0, 7, display.contentWidth, 12 ) announcementBG.anchorX = 0 announcementBG.anchorY = 0 announcementBG.alpha = .25 --Marquee Reset Timer local marqueeResetTimer = timer.performWithDelay( 3000, textscroll, 0 ) --Buttons --slideshow local buttonOne = display.newImage( sceneGroup, "img/button1.png", display.contentCenterX/2, display.contentCenterY + 15) buttonOne.xScale = .9 buttonOne.yScale = .9 --Games local buttonTwo = display.newImage( sceneGroup, "img/button2.png", display.contentCenterX + centerPlus, display.contentCenterY + 15) buttonTwo.xScale = .9 buttonTwo.yScale = .9 --Rewards local buttonThree = display.newImage( sceneGroup, "img/button3.png", display.contentCenterX/2, display.contentCenterY\*1.6) buttonThree.xScale = .9 buttonThree.yScale = .9 --Resources local buttonFour = display.newImage( sceneGroup, "img/button4.png", display.contentCenterX + centerPlus, display.contentCenterY\*1.6) buttonFour.xScale = .9 buttonFour.yScale = .9 function slideshow() print( "slideshow" ) timer.cancel( marqueeResetTimer ) composer.gotoScene( "slideshow" ,options ) end function partygames() print( "partygames" ) end function rewards() print( "rewards" ) timer.cancel( marqueeResetTimer ) composer.gotoScene( "rewards", options ) end function resources() print( "resources" ) end --BUTTON LISTENERS buttonOne:addEventListener( "tap", slideshow ) buttonTwo:addEventListener( "tap", partygames ) buttonThree:addEventListener( "tap", rewards ) buttonFour:addEventListener( "tap", resources ) end end -- "scene:hide()" function scene:hide( event ) local sceneGroup = self.view local phase = event.phase if ( phase == "will" ) then -- Called when the scene is on screen (but is about to go off screen). -- Insert code here to "pause" the scene. -- Example: stop timers, stop animation, stop audio, etc. elseif ( phase == "did" ) then -- Called immediately after scene goes off screen. end end -- "scene:destroy()" function scene:destroy( event ) local sceneGroup = self.view -- Called prior to the removal of scene's view ("sceneGroup"). -- Insert code here to clean up the scene. -- Example: remove display objects, save state, etc. end -- ------------------------------------------------------------------------------- -- Listener setup scene:addEventListener( "create", scene ) scene:addEventListener( "show", scene ) scene:addEventListener( "hide", scene ) scene:addEventListener( "destroy", scene ) -- ------------------------------------------------------------------------------- return scene