coronate 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  }