-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmenu.lua
More file actions
115 lines (86 loc) · 3.63 KB
/
menu.lua
File metadata and controls
115 lines (86 loc) · 3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
local composer = require( "composer" )
local scene = composer.newScene()
local path_track = "audio/Escape_Looping.wav"
local path_background = "imgs/background.png"
local path_title = "imgs/title_virus.png"
local musicTrack
-- -----------------------------------------------------------------------------------
-- Code outside of the scene event functions below will only be executed ONCE unless
-- the scene is removed entirely (not recycled) via "composer.removeScene()"
-- -----------------------------------------------------------------------------------
local function gotoGame()
composer.gotoScene("game", {time=800,effect="crossFade"})
end
local function gotoLocHighScore()
composer.gotoScene("highscores", {time = 800, effect= "crossFade"})
end
local function gotoNetHighScore()
composer.gotoScene("nethighscores", {time = 800, effect= "crossFade"})
end
local function loadAudio()
musicTrack = audio.loadStream( path_track)
end
-- -----------------------------------------------------------------------------------
-- Scene event functions
-- -----------------------------------------------------------------------------------
-- create()
function scene:create( event )
local sceneGroup = self.view
-- Code here runs when the scene is first created but has not yet appeared on screen
local background = display.newImageRect(sceneGroup,path_background,800,1400)
background.x = display.contentCenterX
background.y = display.contentCenterY
local title = display.newImageRect(sceneGroup,path_title,500,80)
title.x = display.contentCenterX
title.y = 200
local playButton = display.newText(sceneGroup,"Play",display.contentCenterX,700,native.systemFont,44)
playButton:setFillColor(0.82,0.86,1)
local highScoresButton = display.newText(sceneGroup,"Local High Scores", display.contentCenterX, 810, native.systemFont, 44)
highScoresButton:setFillColor(0.75,0.78,1)
local netHighScoresButton = display.newText(sceneGroup,"World High Scores", display.contentCenterX, 920, native.systemFont, 44)
netHighScoresButton:setFillColor(0.75,0.78,1)
playButton:addEventListener("tap",gotoGame)
highScoresButton:addEventListener("tap",gotoLocHighScore)
netHighScoresButton:addEventListener("tap",gotoNetHighScore)
loadAudio()
end
-- show()
function scene:show( event )
local sceneGroup = self.view
local phase = event.phase
if ( phase == "will" ) then
-- Code here runs when the scene is still off screen (but is about to come on screen)
elseif ( phase == "did" ) then
-- Code here runs when the scene is entirely on screen
-- Start the music!
audio.play( musicTrack, { channel=1, loops=-1 } )
end
end
-- hide()
function scene:hide( event )
local sceneGroup = self.view
local phase = event.phase
if ( phase == "will" ) then
-- Code here runs when the scene is on screen (but is about to go off screen)
elseif ( phase == "did" ) then
-- Code here runs immediately after the scene goes entirely off screen
-- Stop the music!
audio.stop( 1 )
composer.removeScene( "menu" )
end
end
-- destroy()
function scene:destroy( event )
local sceneGroup = self.view
-- Code here runs prior to the removal of scene's view
audio.dispose( musicTrack)
end
-- -----------------------------------------------------------------------------------
-- Scene event function listeners
-- -----------------------------------------------------------------------------------
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )
-- -----------------------------------------------------------------------------------
return scene