okay so i have two codes of main.lua
so the first 1 is my game, but the other is a level selctor how do i make it so when i click lvl 1 it takes me to lvl 1 instead of the game just waiting till u finish the lvl
this is the code for the game
display.setStatusBar(display.HiddenStatusBar);
– Physics Engine
local physics = require(“physics”)
physics.start()
physics.setGravity(0, 0)
– Load Sounds
local bgMusic = audio.loadStream(“sounds/Calvin.mp3”)
local zombieKill = audio.loadSound(“sounds/ow.mp3”);
– Constants
local _W = display.contentWidth / 2;
local _H = display.contentHeight / 2;
– Variables
local zombies = display.newGroup();
local zombieWidth = 50;
local zombieHeight = 50;
local row;
local column;
local score = 0;
local currentLevel;
local velocityX = 3;
local velocityY = -3;
local gameEvent = “”;
– Menu Screen
local titleScreenGroup;
local titleScreen;
local playBtn;
– Game Screen
local background;
local player;
local zombie;
local bullet;
– Score/Level Text
local zombieKillText;
local zombieKillNum;
local levelText;
local levelNum;
– textBoxGroup
local textBoxGroup;
local textBox;
local conditionDisplay;
local messageText;
– Main Function
function main()
showTitleScreen();
end
– Show the Title Screen
function showTitleScreen()
– Place all title elements into 1 group
titleScreenGroup = display.newGroup()
titleScreen = display.newImage(“images/titleScreen.png”, 0, 0, true);
titleScreen.x = _W;
titleScreen.y = _H;
– Display play button image
playBtn = display.newImage(“images/playButton.png”)
playBtn.x = _W;
playBtn.y = _H + 50;
playBtn.name = “playbutton”;
– Insert backgroudn and button into group
titleScreenGroup:insert(titleScreen);
titleScreenGroup:insert(playBtn);
– Make play button interactive
playBtn:addEventListener(“tap”, loadGame);
end
– When play button is tapped, start the game
function loadGame(event)
if event.target.name == “playbutton” then
audio.play(bgMusic, {loops =- 1});
audio.setVolume(0.2)
transition.to(titleScreenGroup,{time = 0, alpha=0, onComplete = initializeGameScreen});
playBtn:removeEventListener(“tap”, loadGame);
end
end
– Set up the game space
function initializeGameScreen()
– Place the player on screen
player = display.newImage(“images/player.png”);
player.x = _W;
player.y = _H + 140;
player.name = “player”;
– Place bullet on screen
bullet = display.newImage(“images/bullet.png”);
bullet.x = _W;
bullet.y = player.y - 30;
bullet.name = “bullet”;
– Score text
zombieKillText = display.newText("Blocks Blown: ", 25, 2, “Arial”, 14);
zombieKillText:setTextColor(255, 255, 255, 255);
zombieKillNum = display.newText(“0”, 150, 2, “Arial”, 14);
zombieKillNum:setTextColor(255, 255, 255, 255);
– Level text
levelText = display.newText(“Level:”, 360, 2, “Arial”, 14);
levelText:setTextColor(255, 255, 255, 255);
levelNum = display.newText(“1”, 400, 2, “Arial”, 14);
levelNum:setTextColor(255, 255, 255, 255);
– Run level 1
changeLevel1();
end
function changeLevel1()
– Level 1 background image will be Atlanta
bg1 = display.newImage(“images/atl.png”, 0, 0, true );
bg1.x = _W;
bg1.y = _H;
bg1:toBack();
– Start
player:addEventListener(“tap”, startGame)
– Reset zombies
gameLevel1();
end
– When the game starts, add physics properties to player and bullet
function startGame()
physics.addBody(player, “static”, {density = 1, friction = 0, bounce = 0});
physics.addBody(bullet, “dynamic”, {density = 1, friction = 0, bounce = 0});
player:removeEventListener(“tap”, startGame);
gameListeners(“add”);
end
– Bullet properties
function updatebullet()
– Movement
bullet.x = bullet.x + velocityX;
bullet.y = bullet.y + velocityY;
– If bullet hits the ceiling or left or right wall, bounce off of it
if bullet.x < 0 or bullet.x + bullet.width > display.contentWidth then
velocityX = -velocityX;
end
if bullet.y < 0 then
velocityY = -velocityY;
end
– If the bullet hits the bottom wall, the player has lost the game
if bullet.y + bullet.height > player.y + player.height then
textBoxScreen(“You Lost!”, “Try Again”) gameEvent = “lose”;
end
end
– Listen for bullet and player collisions and user dragging player
function gameListeners(event)
if event == “add” then
Runtime:addEventListener(“enterFrame”, updatebullet);
player:addEventListener(“touch”, movePlayer);
player:addEventListener(“collision”, bounce);
bullet:addEventListener(“collision”, zombieDestroyed);
– Bookmark A: You’ll be adding some code here later
– Remove listeners when not needed to free up memory
elseif event == “remove” then
Runtime:removeEventListener(“enterFrame”, updatebullet);
player:removeEventListener(“touch”, movePlayer);
player:removeEventListener(“collision”, bounce);
bullet:removeEventListener(“collision”, zombieDestroyed);
– Bookmark B: You’ll be adding some code here later too
end
end
function gameLevel1()
currentLevel = 1;
– Place the zombies on the top layer
zombies:toFront();
– Number of zombies on level 1
local numOfRows = 2;
local numOfColumns = 2;
– Zombie position on screen
local zombiePlacement = {x = (_W) - (zombieWidth * numOfColumns ) / 2 + 20, y = 70};
– Create zombies based on the number of columns and rows we declared
for row = 0, numOfRows - 1 do
for column = 0, numOfColumns - 1 do
local zombie = display.newImage(“images/zombie.png”);
zombie.name = “zombie”;
zombie.x = zombiePlacement.x + (column * zombieWidth);
zombie.y = zombiePlacement.y + (row * zombieHeight);
– Add physics properties to zombies
physics.addBody(zombie, “static”, {density = 1, friction = 0, bounce = 0});
zombies.insert(zombies, zombie);
end
end
end
– Player movement on user’s drag
function movePlayer(event)
if event.phase == “began” then
moveX = event.x - player.x;
elseif event.phase == “moved” then
player.x = event.x - moveX;
end
if((player.x - player.width * 0.5) < 0) then
player.x = player.width * 0.5;
elseif((player.x + player.width * 0.5) > display.contentWidth) then
player.x = display.contentWidth - player.width * 0.5;
end
end
– Determines bullet movement by where it hits the player
function bounce()
velocityY = -3
if((bullet.x + bullet.width * 0.5) < player.x) then
velocityX = -velocityX;
elseif((bullet.x + bullet.width * 0.5) >= player.x) then
velocityX = velocityX;
end
end
– Zombies are exterminated, remove them from screen
function zombieDestroyed(event)
– Where did the bullet hit the zombie?
if event.other.name == “zombie” and bullet.x + bullet.width * 0.5 < event.other.x + event.other.width * 0.5 then
velocityX = -velocityX;
elseif event.other.name == “zombie” and bullet.x + bullet.width * 0.5 >= event.other.x + event.other.width * 0.5 then
velocityX = velocityX;
end
– Ricochet the bullet off the zombie and remove him from the screen
if event.other.name == “zombie” then
– Bounce the bullet
velocityY = velocityY * -1;
– Zombie says “ow” when hit by a bullet
audio.play(zombieKill);
– Remove f instance
event.other:removeSelf();
event.other = nil;
– One less zombie
zombies.numChildren = zombies.numChildren - 1;
– Score
score = score + 1;
zombieKillNum.text = score;
zombieKillNum:setReferencePoint(display.CenterLeftReferencePoint);
zombieKillNum.x = 150;
end
– Check if all zombies are destroyed
if zombies.numChildren < 0 then
textBoxScreen(“Level: Level Complete”, “Next Level”);
gameEvent = “win”;
end
end
– Level 2 zombies
function gameLevel2()
currentLevel = 2;
bg1.isVisible = false;
– This code is the same to gameLevel1(), but you can change the number of zombies on screen.
zombies:toFront();
local numOfRows = 2;
local numOfColumns = 8;
– Zombie position on screen
local zombiePlacement = {x = (_W) - (zombieWidth * numOfColumns ) / 2 + 20, y = 100};
– Create zombies based on the number of columns and rows we declared
for row = 0, numOfRows - 1 do
for column = 0, numOfColumns - 1 do
local zombie = display.newImage(“images/zombie.png”);
zombie.name = “zombie”;
zombie.x = zombiePlacement.x + (column * zombieWidth);
zombie.y = zombiePlacement.y + (row * zombieHeight);
– Add physics properties to zombies
physics.addBody(zombie, “static”, {density = 1, friction = 0, bounce = 0});
zombies.insert(zombies, zombie);
end
end
end
function cleanupLevel()
– Clear old zombies
zombies:removeSelf();
zombies.numChildren = 0;
zombies = display.newGroup();
– Remove text Box
textBox:removeEventListener(“tap”, restart);
textBoxGroup:removeSelf();
textBoxGroup = nil;
– Reset bullet and player position
bullet.x = _W;
bullet.y = player.y - 30;
player.x = _W;
score = 0;
zombieKillNum.text = “0”;
end
– New York City (Level 2)
function changeLevel2()
– Display background image and move it to the back
bg2 = display.newImage(“images/nyc.png”, 0, 0, true);
bg2.x = _W;
bg2.y = _H;
bg2:toBack();
– Reset zombies
gameLevel2();
– Start
player:addEventListener(“tap”, startGame)
end
function textBoxScreen(title, message)
gameListeners(“remove”);
– Display text box with win or lose message
textBox = display.newImage(“images/textBox.png”);
textBox.x = 240;
textBox.y = 160;
– Win or Lose Text
conditionDisplay = display.newText(title, 0, 0, “Arial”, 38);
conditionDisplay:setTextColor(255,255,255,255);
conditionDisplay.xScale = 0.5;
conditionDisplay.yScale = 0.5;
conditionDisplay:setReferencePoint(display.CenterReferencePoint);
conditionDisplay.x = display.contentCenterX;
conditionDisplay.y = display.contentCenterY - 15;
--Try Again or Congrats Text
messageText = display.newText(message, 0, 0, “Arial”, 24);
messageText:setTextColor(255,255,255,255);
messageText.xScale = 0.5;
messageText.yScale = 0.5;
messageText:setReferencePoint(display.CenterReferencePoint);
messageText.x = display.contentCenterX;
messageText.y = display.contentCenterY + 15;
– Add all elements into a new group
textBoxGroup = display.newGroup();
textBoxGroup:insert(textBox);
textBoxGroup:insert(conditionDisplay);
textBoxGroup:insert(messageText);
– Make text box interactive
textBox:addEventListener(“tap”, restart);
end
– See if the player won or lost the level
function restart()
– If the player wins level 1, then go to level 2
if gameEvent == “win” and currentLevel == 1 then
currentLevel = currentLevel + 1;
cleanupLevel();
changeLevel2();
levelNum.text = tostring(“Nyc”);
– If the player wins level 2, tell them they won the game
elseif gameEvent == “win” and currentLevel == 2 then
textBoxScreen(" You Win!, More Levels soon!", " Congratulations!");
gameEvent = “completed”;
– If the player loses level 1, then make them retry level 1 and reset score to 0
elseif gameEvent == “lose” and currentLevel == 1 then
cleanupLevel();
changeLevel1();
– If the player loses level 2, then make them retry level 2 and reset score to 0
elseif gameEvent == “lose” and currentLevel == 2 then
cleanupLevel();
changeLevel2();
– If the game has been completed, remove the listener of the text box to free up memory
elseif gameEvent == “completed” then
textBox:removeEventListener(“tap”, restart);
end
end
– See if the player won or lost the level
function restart()
– If the player wins level 1, then go to level 2
if gameEvent == “win” and currentLevel == 1 then
currentLevel = currentLevel + 1;
cleanupLevel();
changeLevel2();
levelNum.text = tostring(“Nyc”);
– If the player wins level 2, tell them they won the game
elseif gameEvent == “win” and currentLevel == 2 then
textBoxScreen(" You Win!, More Levels soon!", " Congratulations!");
gameEvent = “completed”;
– If the player loses level 1, then make them retry level 1 and reset score to 0
elseif gameEvent == “lose” and currentLevel == 1 then
cleanupLevel();
changeLevel1();
– If the player loses level 2, then make them retry level 2 and reset score to 0
elseif gameEvent == “lose” and currentLevel == 2 then
cleanupLevel();
changeLevel2();
– If the game has been completed, remove the listener of the text box to free up memory
elseif gameEvent == “completed” then
textBox:removeEventListener(“tap”, restart);
end
end
main();
and now this is the code for the level selctor
local storyboard = require (“storyboard”)
storyboard.purgeOnSceneChange = true
–storyboard.level = 0
display.setStatusBar(display.HiddenStatusBar)
centerX = display.contentCenterX
centerY = display.contentCenterY
storyboard.gotoScene ( “menu”, { effect = “slideDown”} )
------------------------------------------ and level 01.main lua
local storyboard = require( “storyboard” )
local scene = storyboard.newScene()
local widget = require (“widget”)
local playfile = require (“play”)
– local forward references should go here –
local completegameBtn
local function buttonHit(event)
storyboard.gotoScene ( event.target.destination, {effect = “slideUp”} )
return true
end
– Called when the scene’s view does not exist:
function scene:createScene( event )
local group = self.view
– CREATE display objects and add them to ‘group’ here.
– Example use-case: Restore ‘group’ from previously saved state.
local title = display.newText( “Level 1”, 0, 0, “Helvetica”, 38 )
title.x = centerX
title.y = display.screenOriginY + 40
group:insert(title)
local backBtn = display.newText( “Back”, 0, 0, “Helvetica”, 25 )
backBtn.x = display.screenOriginX + 50
backBtn.y = display.contentHeight - 30
backBtn.destination = “play”
backBtn:addEventListener(“tap”, buttonHit)
group:insert(backBtn)
end
– Called immediately after scene has moved onscreen:
function scene:enterScene( event )
local group = self.view
– INSERT code here (e.g. start timers, load audio, start listeners, etc.)
local function btnClicked (event)
--levelProgress = levelProgress + 1
levels[1] = 3
levels[2] = 1
completegameBtn.destination = “play”
completegameBtn:addEventListener(“tap”, buttonHit)
end
completegameBtn = widget.newButton { label = “Complete game”, onRelease=btnClicked}
completegameBtn.x = centerX
completegameBtn.y = centerY
group:insert (completegameBtn)
end
– Called when scene is about to move offscreen:
function scene:exitScene( event )
local group = self.view
– INSERT code here (e.g. stop timers, remove listeners, unload sounds, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
end
– Called prior to the removal of scene’s “view” (display group)
function scene:destroyScene( event )
local group = self.view
– INSERT code here (e.g. remove listeners, widgets, save state, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
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
----------------------------------------------level 02.lua
local storyboard = require( “storyboard” )
local scene = storyboard.newScene()
local widget = require (“widget”)
– local forward references should go here –
local completegameBtn
local function buttonHit(event)
storyboard.gotoScene ( event.target.destination, {effect = “slideUp”} )
return true
end
– Called when the scene’s view does not exist:
function scene:createScene( event )
local group = self.view
– CREATE display objects and add them to ‘group’ here.
– Example use-case: Restore ‘group’ from previously saved state.
local title = display.newText( “Level 2”, 0, 0, “Helvetica”, 38 )
title.x = centerX
title.y = display.screenOriginY + 40
group:insert(title)
local backBtn = display.newText( “Back”, 0, 0, “Helvetica”, 25 )
backBtn.x = display.screenOriginX + 50
backBtn.y = display.contentHeight - 30
backBtn.destination = “play”
backBtn:addEventListener(“tap”, buttonHit)
group:insert(backBtn)
end
– Called immediately after scene has moved onscreen:
function scene:enterScene( event )
local group = self.view
– INSERT code here (e.g. start timers, load audio, start listeners, etc.)
local function btnClicked (event)
levels[2] = 3
levels[3] = 1
completegameBtn.destination = “play”
completegameBtn:addEventListener(“tap”, buttonHit)
end
completegameBtn = widget.newButton { label = “Complete level”, onRelease=btnClicked}
completegameBtn.x = centerX
completegameBtn.y = centerY
group:insert (completegameBtn)
end
– Called when scene is about to move offscreen:
function scene:exitScene( event )
local group = self.view
– INSERT code here (e.g. stop timers, remove listeners, unload sounds, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
end
– Called prior to the removal of scene’s “view” (display group)
function scene:destroyScene( event )
local group = self.view
– INSERT code here (e.g. remove listeners, widgets, save state, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
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
------------------------------------------- menu.lua
local storyboard = require( “storyboard” )
local scene = storyboard.newScene()
– local forward references should go here –
local function buttonHit(event)
storyboard.gotoScene ( event.target.destination, {effect = “slideDown”} )
return true
end
– Called when the scene’s view does not exist:
function scene:createScene( event )
local group = self.view
– CREATE display objects and add them to ‘group’ here.
– Example use-case: Restore ‘group’ from previously saved state.
local title = display.newText( “Welcome to Block Burst”, 0, 0, “Helvetica”, 38 )
title.x = centerX
title.y = display.screenOriginY + 40
group:insert(title)
local playBtn = display.newText( “Start game”, 0, 0, “Helvetica”, 25 )
playBtn.x = centerX
playBtn.y = centerY
playBtn.destination = “play”
playBtn:addEventListener(“tap”, buttonHit)
group:insert(playBtn)
local creditsBtn = display.newText( “Credits”, 0, 0, “Helvetica”, 25 )
creditsBtn.x = centerX
creditsBtn.y = centerY + 80
creditsBtn.destination = “gamecredits”
creditsBtn:addEventListener(“tap”, buttonHit)
group:insert (creditsBtn)
end
– Called immediately after scene has moved onscreen:
function scene:enterScene( event )
local group = self.view
– INSERT code here (e.g. start timers, load audio, start listeners, etc.)
end
– Called when scene is about to move offscreen:
function scene:exitScene( event )
local group = self.view
– INSERT code here (e.g. stop timers, remove listeners, unload sounds, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
end
– Called prior to the removal of scene’s “view” (display group)
function scene:destroyScene( event )
local group = self.view
– INSERT code here (e.g. remove listeners, widgets, save state, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
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
---------------------------------------------------gamecredits.lua
local storyboard = require( “storyboard” )
local scene = storyboard.newScene()
– local forward references should go here –
local function buttonHit(event)
storyboard.gotoScene ( event.target.destination, {effect = “slideUp”} )
return true
end
– Called when the scene’s view does not exist:
function scene:createScene( event )
local group = self.view
– CREATE display objects and add them to ‘group’ here.
– Example use-case: Restore ‘group’ from previously saved state.
local title = display.newText( “Game Credits”, 0, 0, “Helvetica”, 38 )
title.x = centerX
title.y = display.screenOriginY + 40
group:insert(title)
local backBtn = display.newText( “Back”, 0, 0, “Helvetica”, 25 )
backBtn.x = centerX
backBtn.y = centerY
backBtn.destination = “menu”
backBtn:addEventListener(“tap”, buttonHit)
group:insert(backBtn)
end
– Called immediately after scene has moved onscreen:
function scene:enterScene( event )
local group = self.view
– INSERT code here (e.g. start timers, load audio, start listeners, etc.)
end
– Called when scene is about to move offscreen:
function scene:exitScene( event )
local group = self.view
– INSERT code here (e.g. stop timers, remove listeners, unload sounds, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
end
– Called prior to the removal of scene’s “view” (display group)
function scene:destroyScene( event )
local group = self.view
– INSERT code here (e.g. remove listeners, widgets, save state, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
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
----------------------------------and play.lua (now after this somone try to help meh c;
local storyboard = require( “storyboard” )
local scene = storyboard.newScene()
– local forward references should go here –
–levelProgress = 0
–levelImg = {}
–allLevels = {}
levels =
{
1, 2, 2, 2 , 2, --1 means level is open to be played (level.png)
2, 2, 2, 2, 2, --2 means level is locked (locked.png)
2, 2, 2, 2, 2 – 3 means level is completed (greenchecked.png)
}
images ={
{ getFile = “level.png”, types = “play” },
{ getFile = “lock.png”, types = “locked”},
{ getFile = “greenchecked.png”, types = “done”}
}
local function buttonHit(event)
storyboard.gotoScene ( event.target.destination, {effect = “slideUp”} )
print( event.target.destination)
return true
end
– Called when the scene’s view does not exist:
function scene:createScene( event )
local group = self.view
local levelIndex =0
for i=0,2 do
for j=1,5 do
tablePlace = i*5 + j
levelIndex = levelIndex + 1
local imagesId = levels[levelIndex]
levelImg = display.newImageRect (images[imagesId].getFile , 45, 45 )
levelImg.x = 45 + (j*65)
levelImg.y = 85+ (i*65)
group:insert(levelImg)
leveltxt = display.newText("Level "…tostring(tablePlace), 0,0, “Helvetica”, 10)
leveltxt.x = 45 + (j*65)
leveltxt .y = 110+ (i*65)
leveltxt:setTextColor (250, 255, 251)
group:insert (leveltxt)
levelImg.destination = “level0”…tostring(tablePlace)
if images[imagesId].types ~= “locked” then
levelImg:addEventListener(“tap”, buttonHit)
end
end
end
– CREATE display objects and add them to ‘group’ here.
– Example use-case: Restore ‘group’ from previously saved state.
local title = display.newText( “Level Selection”, 0, 0, “Helvetica”, 20 )
title.x = centerX
title.y = display.screenOriginY + 40
group:insert(title)
local backBtn = display.newText( “Back”, 0, 0, “Helvetica”, 20 )
backBtn.x = display.screenOriginX + 50
backBtn.y = display.contentHeight - 30
backBtn.destination = “menu”
backBtn:addEventListener(“tap”, buttonHit)
group:insert(backBtn)
end
– Called immediately after scene has moved onscreen:
function scene:enterScene( event )
local group = self.view
– INSERT code here (e.g. start timers, load audio, start listeners, etc.)
end
– Called when scene is about to move offscreen:
function scene:exitScene( event )
local group = self.view
– INSERT code here (e.g. stop timers, remove listeners, unload sounds, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
end
– Called prior to the removal of scene’s “view” (display group)
function scene:destroyScene( event )
local group = self.view
– INSERT code here (e.g. remove listeners, widgets, save state, etc.)
– Remove listeners attached to the Runtime, timers, transitions, audio tracks
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