coronate 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +24 -6
  3. data/bin/coronate +2 -1
  4. data/lib/coronate/builder/app_builder.rb +27 -0
  5. data/lib/coronate/builder/ebook_builder.rb +25 -0
  6. data/lib/coronate/builder/game_builder.rb +25 -0
  7. data/lib/coronate/builder/project_builder.rb +21 -0
  8. data/lib/coronate/builder/scene_builder.rb +13 -0
  9. data/lib/coronate/builder/templates/app/build.settings.tt +41 -0
  10. data/lib/coronate/builder/templates/app/config.lua.tt +29 -0
  11. data/lib/coronate/builder/templates/app/icon1-down.png +0 -0
  12. data/lib/coronate/builder/templates/app/icon1-down@2x.png +0 -0
  13. data/lib/coronate/builder/templates/app/icon1.png +0 -0
  14. data/lib/coronate/builder/templates/app/icon1@2x.png +0 -0
  15. data/lib/coronate/builder/templates/app/icon2-down.png +0 -0
  16. data/lib/coronate/builder/templates/app/icon2-down@2x.png +0 -0
  17. data/lib/coronate/builder/templates/app/icon2.png +0 -0
  18. data/lib/coronate/builder/templates/app/icon2@2x.png +0 -0
  19. data/lib/coronate/builder/templates/app/main.lua.tt +39 -0
  20. data/lib/coronate/builder/templates/app/view1.lua.tt +88 -0
  21. data/lib/coronate/builder/templates/app/view2.lua.tt +89 -0
  22. data/lib/coronate/builder/templates/ebook/build.settings.tt +41 -0
  23. data/lib/coronate/builder/templates/ebook/config.lua.tt +29 -0
  24. data/lib/coronate/builder/templates/ebook/coronaicon-big.png +0 -0
  25. data/lib/coronate/builder/templates/ebook/cover.jpg +0 -0
  26. data/lib/coronate/builder/templates/ebook/main.lua.tt +14 -0
  27. data/lib/coronate/builder/templates/ebook/moon.png +0 -0
  28. data/lib/coronate/builder/templates/ebook/page1.lua.tt +225 -0
  29. data/lib/coronate/builder/templates/ebook/pagebg1.png +0 -0
  30. data/lib/coronate/builder/templates/ebook/space.jpg +0 -0
  31. data/lib/coronate/builder/templates/ebook/sun.png +0 -0
  32. data/lib/coronate/builder/templates/ebook/title.lua.tt +97 -0
  33. data/lib/coronate/builder/templates/game/background.jpg +0 -0
  34. data/lib/coronate/builder/templates/game/build.settings.tt +41 -0
  35. data/lib/coronate/builder/templates/game/button-over.png +0 -0
  36. data/lib/coronate/builder/templates/game/button.png +0 -0
  37. data/lib/coronate/builder/templates/game/config.lua.tt +29 -0
  38. data/lib/coronate/builder/templates/game/crate.png +0 -0
  39. data/lib/coronate/builder/templates/game/grass.png +0 -0
  40. data/lib/coronate/builder/templates/game/level1.lua.tt +102 -0
  41. data/lib/coronate/builder/templates/game/logo.png +0 -0
  42. data/lib/coronate/builder/templates/game/main.lua.tt +14 -0
  43. data/lib/coronate/builder/templates/game/menu.lua.tt +115 -0
  44. data/lib/coronate/{templates → builder/templates/project}/build.settings.tt +0 -0
  45. data/lib/coronate/{templates → builder/templates/project}/config.tt +15 -0
  46. data/lib/coronate/{templates → builder/templates/project}/endingScene.tt +0 -0
  47. data/lib/coronate/{templates → builder/templates/project}/main.tt +0 -0
  48. data/lib/coronate/{templates → builder/templates/project}/menuScene.tt +0 -0
  49. data/lib/coronate/{templates → builder/templates/project}/settingsScene.tt +0 -0
  50. data/lib/coronate/{templates → builder/templates/project}/titleScene.tt +0 -0
  51. data/lib/coronate/{templates → builder/templates/project}/utils.tt +0 -0
  52. data/lib/coronate/builder/templates/scene/scene.tt +148 -0
  53. data/lib/coronate/cli.rb +56 -17
  54. metadata +51 -11
  55. data/lib/coronate/templates/scene.tt +0 -82
@@ -0,0 +1,225 @@
1
+ -----------------------------------------------------------------------------------------
2
+ --
3
+ -- page1.lua
4
+ --
5
+ -----------------------------------------------------------------------------------------
6
+
7
+ local storyboard = require( "storyboard" )
8
+ local scene = storyboard.newScene()
9
+
10
+ -----------------------------------------------------------------------------------------
11
+ -- BEGINNING OF YOUR IMPLEMENTATION
12
+ --
13
+ -- NOTE: Code outside of listener functions (below) will only be executed once,
14
+ -- unless storyboard.removeScene() is called.
15
+ --
16
+ -----------------------------------------------------------------------------------------
17
+
18
+ -- forward declarations and other locals
19
+ local background, pageText, continueText, pageTween, fadeTween1, fadeTween2, sunObj, moonObj, coronaIcon
20
+
21
+ local swipeThresh = 100 -- amount of pixels finger must travel to initiate page swipe
22
+ local tweenTime = 500
23
+ local animStep = 1
24
+ local readyToContinue = false
25
+
26
+ -- function to show next animation
27
+ local function showNext()
28
+ if readyToContinue then
29
+ continueText.isVisible = false
30
+ readyToContinue = false
31
+
32
+ local function repositionAndFadeIn()
33
+ pageText:setReferencePoint( display.CenterReferencePoint )
34
+ pageText.x = display.contentWidth * 0.5
35
+ pageText.y = display.contentHeight * 0.20
36
+ pageText.isVisible = true
37
+
38
+ fadeTween1 = transition.to( pageText, { time=tweenTime*0.5, alpha=1.0 } )
39
+ end
40
+
41
+ local function completeTween()
42
+ animStep = animStep + 1
43
+ if animStep > 3 then animStep = 1; end
44
+
45
+ readyToContinue = true
46
+ continueText.isVisible = true
47
+ end
48
+
49
+ if animStep == 1 then
50
+ pageText.alpha = 0
51
+ pageText.text = "High-performance, OpenGL graphics engine."
52
+ repositionAndFadeIn()
53
+
54
+ -- hide corona icon
55
+ coronaIcon.isVisible = false
56
+
57
+ sunObj.alpha = 1
58
+ sunObj.x = -sunObj.contentWidth
59
+ sunObj.isVisible = true
60
+ pageTween = transition.to( sunObj, { time=tweenTime, x=display.contentWidth*0.5, transition=easing.outExpo, onComplete=completeTween } )
61
+
62
+ elseif animStep == 2 then
63
+ pageText.alpha = 0
64
+ pageText.text = "Easy API accessed via Lua scripting."
65
+ repositionAndFadeIn()
66
+
67
+ moonObj.alpha = 1
68
+ moonObj.x = display.contentWidth + moonObj.contentWidth
69
+ moonObj.isVisible = true
70
+ pageTween = transition.to( moonObj, { time=tweenTime, x=display.contentWidth*0.5, transition=easing.outExpo, onComplete=completeTween } )
71
+
72
+ elseif animStep == 3 then
73
+ pageText.alpha = 0
74
+ pageText.text = "Corona SDK: Code Less. Play More."
75
+ repositionAndFadeIn()
76
+
77
+ -- hide sun and moon
78
+ fadeTween1 = transition.to( sunObj, { time=tweenTime*0.5, alpha=0 } )
79
+ fadeTween2 = transition.to( moonObj, { time=tweenTime*0.5, alpha=0 } )
80
+
81
+ coronaIcon.isVisible = true
82
+ coronaIcon.alpha = 0
83
+ coronaIcon.x = display.contentWidth * 0.5
84
+ pageTween = transition.to( coronaIcon, { time=tweenTime*1.5, alpha=1, transition=easing.inOutExpo, onComplete=completeTween } )
85
+ end
86
+ end
87
+ end
88
+
89
+ -- touch event listener for background object
90
+ local function onPageSwipe( self, event )
91
+ local phase = event.phase
92
+ if phase == "began" then
93
+ display.getCurrentStage():setFocus( self )
94
+ self.isFocus = true
95
+
96
+ elseif self.isFocus then
97
+ if phase == "ended" or phase == "cancelled" then
98
+
99
+ local distance = event.x - event.xStart
100
+ if distance > swipeThresh then
101
+ -- SWIPED to right; go back to title page scene
102
+ storyboard.gotoScene( "title", "slideRight", 800 )
103
+ else
104
+ -- Touch and release; initiate next animation
105
+ showNext()
106
+ end
107
+
108
+ display.getCurrentStage():setFocus( nil )
109
+ self.isFocus = nil
110
+ end
111
+ end
112
+ return true
113
+ end
114
+
115
+
116
+ -- Called when the scene's view does not exist:
117
+ function scene:createScene( event )
118
+ local group = self.view
119
+
120
+ -- create background image
121
+ background = display.newImageRect( group, "space.jpg", display.contentWidth, display.contentHeight )
122
+ background:setReferencePoint( display.TopLeftReferencePoint )
123
+ background.x, background.y = 0, 0
124
+ background.alpha = 0.5
125
+
126
+ -- create overlay
127
+ local overlay = display.newImageRect( group, "pagebg1.png", display.contentWidth, display.contentHeight )
128
+ overlay:setReferencePoint( display.TopLeftReferencePoint )
129
+ overlay.x, overlay.y = 0, 0
130
+
131
+ -- create sun, moon, and corona icon
132
+ sunObj = display.newImageRect( group, "sun.png", 300, 300 )
133
+ sunObj:setReferencePoint( display.CenterReferencePoint )
134
+ sunObj.x = display.contentWidth * 0.5
135
+ sunObj.y = display.contentHeight * 0.5
136
+ sunObj.isVisible = false
137
+
138
+ moonObj = display.newImageRect( group, "moon.png", 300, 300 )
139
+ moonObj:setReferencePoint( display.CenterReferencePoint )
140
+ moonObj.x = display.contentWidth * 0.5
141
+ moonObj.y = display.contentHeight * 0.5
142
+ moonObj.isVisible = false
143
+
144
+ coronaIcon = display.newImageRect( group, "coronaicon-big.png", 450, 444 )
145
+ coronaIcon:setReferencePoint( display.CenterReferencePoint )
146
+ coronaIcon.x = display.contentWidth * 0.5
147
+ coronaIcon.y = display.contentHeight * 0.5
148
+ coronaIcon.alpha = 0
149
+
150
+ -- create pageText
151
+ pageText = display.newText( group, "", 0, 0, native.systemFontBold, 18 )
152
+ pageText:setReferencePoint( display.CenterReferencePoint )
153
+ pageText.x = display.contentWidth * 0.5
154
+ pageText.y = display.contentHeight * 0.5
155
+ pageText.isVisible = false
156
+
157
+ -- create text at bottom of screen
158
+ continueText = display.newText( group, "[ Tap screen to continue ]", 0, 0, native.systemFont, 18 )
159
+ continueText:setReferencePoint( display.CenterReferencePoint )
160
+ continueText.x = display.contentWidth * 0.5
161
+ continueText.y = display.contentHeight - (display.contentHeight * 0.04 )
162
+ continueText.isVisible = false
163
+ end
164
+
165
+ -- Called immediately after scene has moved onscreen:
166
+ function scene:enterScene( event )
167
+ local group = self.view
168
+
169
+ animStep = 1
170
+ readyToContinue = true
171
+ showNext()
172
+
173
+ -- assign touch event to background to monitor page swiping
174
+ background.touch = onPageSwipe
175
+ background:addEventListener( "touch", background )
176
+ end
177
+
178
+ -- Called when scene is about to move offscreen:
179
+ function scene:exitScene( event )
180
+ local group = self.view
181
+
182
+ -- hide objects
183
+ sunObj.isVisible = false
184
+ moonObj.isVisible = false
185
+ coronaIcon.isVisible = false
186
+ pageText.isVisible = false
187
+
188
+ -- remove touch event listener for background
189
+ background:removeEventListener( "touch", background )
190
+
191
+ -- cancel page animations (if currently active)
192
+ if pageTween then transition.cancel( pageTween ); pageTween = nil; end
193
+ if fadeTween1 then transition.cancel( fadeTween1 ); fadeTween1 = nil; end
194
+ if fadeTween2 then transition.cancel( fadeTween2 ); fadeTween2 = nil; end
195
+ end
196
+
197
+ -- If scene's view is removed, scene:destroyScene() will be called just prior to:
198
+ function scene:destroyScene( event )
199
+ local group = self.view
200
+
201
+ -- INSERT code here (e.g. remove listeners, remove widgets, save state variables, etc.)
202
+
203
+ end
204
+
205
+ -----------------------------------------------------------------------------------------
206
+ -- END OF YOUR IMPLEMENTATION
207
+ -----------------------------------------------------------------------------------------
208
+
209
+ -- "createScene" event is dispatched if scene's view does not exist
210
+ scene:addEventListener( "createScene", scene )
211
+
212
+ -- "enterScene" event is dispatched whenever scene transition has finished
213
+ scene:addEventListener( "enterScene", scene )
214
+
215
+ -- "exitScene" event is dispatched whenever before next scene's transition begins
216
+ scene:addEventListener( "exitScene", scene )
217
+
218
+ -- "destroyScene" event is dispatched before view is unloaded, which can be
219
+ -- automatically unloaded in low memory situations, or explicitly via a call to
220
+ -- storyboard.purgeScene() or storyboard.removeScene().
221
+ scene:addEventListener( "destroyScene", scene )
222
+
223
+ -----------------------------------------------------------------------------------------
224
+
225
+ return scene
@@ -0,0 +1,97 @@
1
+ -----------------------------------------------------------------------------------------
2
+ --
3
+ -- title.lua
4
+ --
5
+ -----------------------------------------------------------------------------------------
6
+
7
+ local storyboard = require( "storyboard" )
8
+ local scene = storyboard.newScene()
9
+
10
+ --------------------------------------------
11
+
12
+ -- forward declaration
13
+ local background
14
+
15
+ -- Touch listener function for background object
16
+ local function onBackgroundTouch( self, event )
17
+ if event.phase == "ended" or event.phase == "cancelled" then
18
+ -- go to page1.lua scene
19
+ storyboard.gotoScene( "page1", "slideLeft", 800 )
20
+
21
+ return true -- indicates successful touch
22
+ end
23
+ end
24
+
25
+ -----------------------------------------------------------------------------------------
26
+ -- BEGINNING OF YOUR IMPLEMENTATION
27
+ --
28
+ -- NOTE: Code outside of listener functions (below) will only be executed once,
29
+ -- unless storyboard.removeScene() is called.
30
+ --
31
+ -----------------------------------------------------------------------------------------
32
+
33
+ -- Called when the scene's view does not exist:
34
+ function scene:createScene( event )
35
+ local group = self.view
36
+
37
+ -- display a background image
38
+ background = display.newImageRect( group, "cover.jpg", display.contentWidth, display.contentHeight )
39
+ background:setReferencePoint( display.TopLeftReferencePoint )
40
+ background.x, background.y = 0, 0
41
+
42
+ -- Add more text
43
+ local pageText = display.newText( "[ Touch screen to continue ]", 0, 0, native.systemFont, 18 )
44
+ pageText:setReferencePoint( display.CenterReferencePoint )
45
+ pageText.x = display.contentWidth * 0.5
46
+ pageText.y = display.contentHeight - (display.contentHeight*0.1)
47
+
48
+ -- all display objects must be inserted into group
49
+ group:insert( background )
50
+ group:insert( pageText )
51
+ end
52
+
53
+ -- Called immediately after scene has moved onscreen:
54
+ function scene:enterScene( event )
55
+ local group = self.view
56
+
57
+ background.touch = onBackgroundTouch
58
+ background:addEventListener( "touch", background )
59
+ end
60
+
61
+ -- Called when scene is about to move offscreen:
62
+ function scene:exitScene( event )
63
+ local group = self.view
64
+
65
+ -- remove event listener from background
66
+ background:removeEventListener( "touch", background )
67
+ end
68
+
69
+ -- If scene's view is removed, scene:destroyScene() will be called just prior to:
70
+ function scene:destroyScene( event )
71
+ local group = self.view
72
+
73
+ -- INSERT code here (e.g. remove listeners, remove widgets, save state variables, etc.)
74
+
75
+ end
76
+
77
+ -----------------------------------------------------------------------------------------
78
+ -- END OF YOUR IMPLEMENTATION
79
+ -----------------------------------------------------------------------------------------
80
+
81
+ -- "createScene" event is dispatched if scene's view does not exist
82
+ scene:addEventListener( "createScene", scene )
83
+
84
+ -- "enterScene" event is dispatched whenever scene transition has finished
85
+ scene:addEventListener( "enterScene", scene )
86
+
87
+ -- "exitScene" event is dispatched whenever before next scene's transition begins
88
+ scene:addEventListener( "exitScene", scene )
89
+
90
+ -- "destroyScene" event is dispatched before view is unloaded, which can be
91
+ -- automatically unloaded in low memory situations, or explicitly via a call to
92
+ -- storyboard.purgeScene() or storyboard.removeScene().
93
+ scene:addEventListener( "destroyScene", scene )
94
+
95
+ -----------------------------------------------------------------------------------------
96
+
97
+ return scene
@@ -0,0 +1,41 @@
1
+ -- Supported values for orientation:
2
+ -- portrait, portraitUpsideDown, landscapeLeft, landscapeRight
3
+
4
+ settings = {
5
+
6
+ orientation = {
7
+ default = { <%= @orient %> },
8
+ supported = { <%= @orient %> }
9
+ },
10
+
11
+ iphone = {
12
+ plist = {
13
+ UIStatusBarHidden = false,
14
+ UIPrerenderedIcon = true, -- set to false for "shine" overlay
15
+ --UIApplicationExitsOnSuspend = true, -- uncomment to quit app on suspend
16
+
17
+ --[[
18
+ -- iOS app URL schemes:
19
+ CFBundleURLTypes =
20
+ {
21
+ {
22
+ CFBundleURLSchemes =
23
+ {
24
+ "fbXXXXXXXXXXXXXX", -- example scheme for facebook
25
+ "coronasdkapp", -- example second scheme
26
+ }
27
+ }
28
+ }
29
+ --]]
30
+ }
31
+ },
32
+
33
+ --[[
34
+ -- Android permissions
35
+
36
+ androidPermissions = {
37
+ "android.permission.INTERNET",
38
+ },
39
+
40
+ ]]--
41
+ }
@@ -0,0 +1,29 @@
1
+ application = {
2
+ content = {
3
+ width = <%= @width %>,
4
+ height = <%= @height %>,
5
+ scale = "letterBox",
6
+ fps = 30,
7
+
8
+ --[[
9
+ imageSuffix = {
10
+ ["@2x"] = 2,
11
+ }
12
+ --]]
13
+ },
14
+
15
+ --[[
16
+ -- Push notifications
17
+
18
+ notification =
19
+ {
20
+ iphone =
21
+ {
22
+ types =
23
+ {
24
+ "badge", "sound", "alert", "newsstand"
25
+ }
26
+ }
27
+ }
28
+ --]]
29
+ }
@@ -0,0 +1,102 @@
1
+ -----------------------------------------------------------------------------------------
2
+ --
3
+ -- level1.lua
4
+ --
5
+ -----------------------------------------------------------------------------------------
6
+
7
+ local storyboard = require( "storyboard" )
8
+ local scene = storyboard.newScene()
9
+
10
+ -- include Corona's "physics" library
11
+ local physics = require "physics"
12
+ physics.start(); physics.pause()
13
+
14
+ --------------------------------------------
15
+
16
+ -- forward declarations and other locals
17
+ local screenW, screenH, halfW = display.contentWidth, display.contentHeight, display.contentWidth*0.5
18
+
19
+ -----------------------------------------------------------------------------------------
20
+ -- BEGINNING OF YOUR IMPLEMENTATION
21
+ --
22
+ -- NOTE: Code outside of listener functions (below) will only be executed once,
23
+ -- unless storyboard.removeScene() is called.
24
+ --
25
+ -----------------------------------------------------------------------------------------
26
+
27
+ -- Called when the scene's view does not exist:
28
+ function scene:createScene( event )
29
+ local group = self.view
30
+
31
+ -- create a grey rectangle as the backdrop
32
+ local background = display.newRect( 0, 0, screenW, screenH )
33
+ background:setFillColor( 128 )
34
+
35
+ -- make a crate (off-screen), position it, and rotate slightly
36
+ local crate = display.newImageRect( "crate.png", 90, 90 )
37
+ crate.x, crate.y = 160, -100
38
+ crate.rotation = 15
39
+
40
+ -- add physics to the crate
41
+ physics.addBody( crate, { density=1.0, friction=0.3, bounce=0.3 } )
42
+
43
+ -- create a grass object and add physics (with custom shape)
44
+ local grass = display.newImageRect( "grass.png", screenW, 82 )
45
+ grass:setReferencePoint( display.BottomLeftReferencePoint )
46
+ grass.x, grass.y = 0, display.contentHeight
47
+
48
+ -- define a shape that's slightly shorter than image bounds (set draw mode to "hybrid" or "debug" to see)
49
+ local grassShape = { -halfW,-34, halfW,-34, halfW,34, -halfW,34 }
50
+ physics.addBody( grass, "static", { friction=0.3, shape=grassShape } )
51
+
52
+ -- all display objects must be inserted into group
53
+ group:insert( background )
54
+ group:insert( grass)
55
+ group:insert( crate )
56
+ end
57
+
58
+ -- Called immediately after scene has moved onscreen:
59
+ function scene:enterScene( event )
60
+ local group = self.view
61
+
62
+ physics.start()
63
+
64
+ end
65
+
66
+ -- Called when scene is about to move offscreen:
67
+ function scene:exitScene( event )
68
+ local group = self.view
69
+
70
+ physics.stop()
71
+
72
+ end
73
+
74
+ -- If scene's view is removed, scene:destroyScene() will be called just prior to:
75
+ function scene:destroyScene( event )
76
+ local group = self.view
77
+
78
+ package.loaded[physics] = nil
79
+ physics = nil
80
+ end
81
+
82
+ -----------------------------------------------------------------------------------------
83
+ -- END OF YOUR IMPLEMENTATION
84
+ -----------------------------------------------------------------------------------------
85
+
86
+ -- "createScene" event is dispatched if scene's view does not exist
87
+ scene:addEventListener( "createScene", scene )
88
+
89
+ -- "enterScene" event is dispatched whenever scene transition has finished
90
+ scene:addEventListener( "enterScene", scene )
91
+
92
+ -- "exitScene" event is dispatched whenever before next scene's transition begins
93
+ scene:addEventListener( "exitScene", scene )
94
+
95
+ -- "destroyScene" event is dispatched before view is unloaded, which can be
96
+ -- automatically unloaded in low memory situations, or explicitly via a call to
97
+ -- storyboard.purgeScene() or storyboard.removeScene().
98
+ scene:addEventListener( "destroyScene", scene )
99
+
100
+ -----------------------------------------------------------------------------------------
101
+
102
+ return scene
@@ -0,0 +1,14 @@
1
+ -----------------------------------------------------------------------------------------
2
+ --
3
+ -- main.lua
4
+ --
5
+ -----------------------------------------------------------------------------------------
6
+
7
+ -- hide the status bar
8
+ display.setStatusBar( display.HiddenStatusBar )
9
+
10
+ -- include the Corona "storyboard" module
11
+ local storyboard = require "storyboard"
12
+
13
+ -- load menu screen
14
+ storyboard.gotoScene( "menu" )
@@ -0,0 +1,115 @@
1
+ -----------------------------------------------------------------------------------------
2
+ --
3
+ -- menu.lua
4
+ --
5
+ -----------------------------------------------------------------------------------------
6
+
7
+ local storyboard = require( "storyboard" )
8
+ local scene = storyboard.newScene()
9
+
10
+ -- include Corona's "widget" library
11
+ local widget = require "widget"
12
+
13
+ --------------------------------------------
14
+
15
+ -- forward declarations and other locals
16
+ local playBtn
17
+
18
+ -- 'onRelease' event listener for playBtn
19
+ local function onPlayBtnRelease()
20
+
21
+ -- go to level1.lua scene
22
+ storyboard.gotoScene( "level1", "fade", 500 )
23
+
24
+ return true -- indicates successful touch
25
+ end
26
+
27
+ -----------------------------------------------------------------------------------------
28
+ -- BEGINNING OF YOUR IMPLEMENTATION
29
+ --
30
+ -- NOTE: Code outside of listener functions (below) will only be executed once,
31
+ -- unless storyboard.removeScene() is called.
32
+ --
33
+ -----------------------------------------------------------------------------------------
34
+
35
+ -- Called when the scene's view does not exist:
36
+ function scene:createScene( event )
37
+ local group = self.view
38
+
39
+ -- display a background image
40
+ local background = display.newImageRect( "background.jpg", display.contentWidth, display.contentHeight )
41
+ background:setReferencePoint( display.TopLeftReferencePoint )
42
+ background.x, background.y = 0, 0
43
+
44
+ -- create/position logo/title image on upper-half of the screen
45
+ local titleLogo = display.newImageRect( "logo.png", 264, 42 )
46
+ titleLogo:setReferencePoint( display.CenterReferencePoint )
47
+ titleLogo.x = display.contentWidth * 0.5
48
+ titleLogo.y = 100
49
+
50
+ -- create a widget button (which will loads level1.lua on release)
51
+ playBtn = widget.newButton{
52
+ label="Play Now",
53
+ labelColor = { default={255}, over={128} },
54
+ defaultFile="button.png",
55
+ overFile="button-over.png",
56
+ width=154, height=40,
57
+ onRelease = onPlayBtnRelease -- event listener function
58
+ }
59
+ playBtn:setReferencePoint( display.CenterReferencePoint )
60
+ playBtn.x = display.contentWidth*0.5
61
+ playBtn.y = display.contentHeight - 125
62
+
63
+ -- all display objects must be inserted into group
64
+ group:insert( background )
65
+ group:insert( titleLogo )
66
+ group:insert( playBtn )
67
+ end
68
+
69
+ -- Called immediately after scene has moved onscreen:
70
+ function scene:enterScene( event )
71
+ local group = self.view
72
+
73
+ -- INSERT code here (e.g. start timers, load audio, start listeners, etc.)
74
+
75
+ end
76
+
77
+ -- Called when scene is about to move offscreen:
78
+ function scene:exitScene( event )
79
+ local group = self.view
80
+
81
+ -- INSERT code here (e.g. stop timers, remove listenets, unload sounds, etc.)
82
+
83
+ end
84
+
85
+ -- If scene's view is removed, scene:destroyScene() will be called just prior to:
86
+ function scene:destroyScene( event )
87
+ local group = self.view
88
+
89
+ if playBtn then
90
+ playBtn:removeSelf() -- widgets must be manually removed
91
+ playBtn = nil
92
+ end
93
+ end
94
+
95
+ -----------------------------------------------------------------------------------------
96
+ -- END OF YOUR IMPLEMENTATION
97
+ -----------------------------------------------------------------------------------------
98
+
99
+ -- "createScene" event is dispatched if scene's view does not exist
100
+ scene:addEventListener( "createScene", scene )
101
+
102
+ -- "enterScene" event is dispatched whenever scene transition has finished
103
+ scene:addEventListener( "enterScene", scene )
104
+
105
+ -- "exitScene" event is dispatched whenever before next scene's transition begins
106
+ scene:addEventListener( "exitScene", scene )
107
+
108
+ -- "destroyScene" event is dispatched before view is unloaded, which can be
109
+ -- automatically unloaded in low memory situations, or explicitly via a call to
110
+ -- storyboard.purgeScene() or storyboard.removeScene().
111
+ scene:addEventListener( "destroyScene", scene )
112
+
113
+ -----------------------------------------------------------------------------------------
114
+
115
+ return scene
@@ -12,6 +12,21 @@ application = {
12
12
  -- How to stretch graphics on a larger screen.
13
13
  scale = "letterbox"
14
14
 
15
+ },
16
+
17
+ --[[
18
+ -- Push notifications
19
+
20
+ notification =
21
+ {
22
+ iphone =
23
+ {
24
+ types =
25
+ {
26
+ "badge", "sound", "alert", "newsstand"
27
+ }
28
+ }
15
29
  }
30
+ --]]
16
31
 
17
32
  }