-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmenu.lua
More file actions
109 lines (73 loc) · 3.13 KB
/
menu.lua
File metadata and controls
109 lines (73 loc) · 3.13 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
local composer = require( "composer" )
local scene = composer.newScene()
-- -----------------------------------------------------------------------------------
-- 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 musicTrack
local function gotoGame()
composer.gotoScene("game", {time=800, effect="crossFade"})
end
local function gotoHighScores()
composer.gotoScene("highscores", {time=800, effect="crossFade"})
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, "background.png", 800, 1400)
background.x = display.contentCenterX
background.y = display.contentCenterY
local title = display.newImageRect(sceneGroup, "title.png", 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, "High Scores", display.contentCenterX, 810, native.systemFont, 44)
highScoresButton:setFillColor(0.75, 0.78, 1)
playButton:addEventListener("tap", gotoGame)
highScoresButton:addEventListener("tap", gotoHighScores)
musicTrack = audio.loadStream("audio/Escape_Looping.wav")
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
audio.play(musicTrack, {channel=1, loops=-1})
audio.fade( { channel=1, time=800, volume=0.5 } )
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)
audio.fade( { channel=1, time=800, volume=0 } )
elseif ( phase == "did" ) then
-- Code here runs immediately after the scene goes entirely off screen
audio.stop(1)
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