coronate 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZjJjZmMyYzNhYzZkN2IwM2EzNGM4N2ZmNjcyNmIxYzQ4MzZiNDlmOQ==
5
+ data.tar.gz: !binary |-
6
+ MWQyOGNlYmQ2M2ZlOTU1N2QxMDk4YjkwZTdkMDQ0MzM1ZmU2MmE5OA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YmNkZTdlMWQ1Y2NhNzkwMGNiZjkwZWQ5YjRmZjc1YmM0ZDUwMDc5OGJlOWQw
10
+ ZGNiNDBmMDhlZjFmYTliYTQzMTdiMThlYThkNmQ4YWRiMTA1MjNhZmY3Yjkw
11
+ YWQxZWI0MDRmNDNlMmIyZWE4ZWZiOGNlYWRkODY4ZDNmMjQwNzk=
12
+ data.tar.gz: !binary |-
13
+ OTRlOTQ4M2UxZjA1MWQ4YzcyYWNlYWUyMWQ1ZjA3NTE5OGVmNTk1MGMyNTk0
14
+ YzdmYTlhZWM1YTVmMTQ1ZjYyMzIzOWQyMDkwNDVjNWYwNmNlZTA5NjY4NjMw
15
+ ZGY0ZDBiYmQ2NTdhM2RhMTMzODMyNDIxZjhkMjI1NWJkMTJjYjY=
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2013 Eiffel Qiu
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,25 @@
1
+ ## Corona project builder tools.
2
+
3
+
4
+ ### Installation
5
+
6
+ $ gem install coronate
7
+
8
+ ### Help
9
+
10
+ $ coronate
11
+ Commands:
12
+ coronate help [COMMAND] # Describe available commands or one specific command
13
+ coronate project # generate a corona project
14
+ coronate scene # generate an scene
15
+
16
+
17
+ ### Generate Corona Porject
18
+
19
+ $ cb project helloworld
20
+
21
+
22
+ ### Generate a scene file
23
+
24
+ $ cb scene page1
25
+
data/bin/coronate ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require 'coronate/cli'
3
+
4
+ CLI.start
@@ -0,0 +1,27 @@
1
+ require "thor"
2
+
3
+ class CLI < Thor
4
+ include Thor::Actions
5
+
6
+
7
+ def self.source_root
8
+ File.dirname(__FILE__)
9
+ end
10
+
11
+ desc "scene", "generate an scene"
12
+ def scene(name='scene1')
13
+ template 'templates/scene.tt', "#{name}.lua"
14
+ end
15
+
16
+ desc "project", "generate a corona project"
17
+ def project(name='project1')
18
+ empty_directory "#{name}/assets"
19
+ template 'templates/main.tt', "#{name}/main.lua"
20
+ template 'templates/utils.tt', "#{name}/utils.lua"
21
+ template 'templates/titleScene.tt', "#{name}/titleScene.lua"
22
+ template 'templates/endingScene.tt', "#{name}/endingScene.lua"
23
+ template 'templates/settingsScene.tt', "#{name}/settingsScene.lua"
24
+ template 'templates/menuScene.tt', "#{name}/menuScene.lua"
25
+ end
26
+
27
+ end
@@ -0,0 +1,104 @@
1
+ -- Create a scene object to tie functions to.
2
+ local scene = storyboard.newScene();
3
+
4
+ -- ============================================================================
5
+ -- Called when the scene's view does not exist.
6
+ -- ============================================================================
7
+ function scene:createScene(inEvent)
8
+ utils:log("endingScene", "createScene()");
9
+
10
+ -- Create New Game text, center it and attached event handler.
11
+ local txtTitle =
12
+ display.newText("Ending Scene", 0, 0, native.systemFont, 52);
13
+ txtTitle.x = display.contentCenterX;
14
+ txtTitle.y = display.contentCenterY - 170;
15
+ txtTitle:addEventListener("touch",
16
+ function(inEvent)
17
+ if inEvent.phase == "ended" then
18
+ utils:log("endingScene", "go to menuScene");
19
+ storyboard.gotoScene("endingScene", "zoomOutIn", 500);
20
+ end
21
+ end
22
+ );
23
+ self.view:insert(txtTitle);
24
+ end -- End createScene().
25
+
26
+
27
+ -- ============================================================================
28
+ -- Called BEFORE scene has moved on screen.
29
+ -- ============================================================================
30
+ function scene:willEnterScene(inEvent)
31
+ utils:log("endingScene", "willEnterScene()");
32
+ end -- End willEnterScene().
33
+
34
+
35
+ -- ============================================================================
36
+ -- Called AFTER scene has moved on screen.
37
+ -- ============================================================================
38
+ function scene:enterScene(inEvent)
39
+ utils:log("endingScene", "enterScene()");
40
+ end -- End enterScene().
41
+
42
+
43
+ -- ============================================================================
44
+ -- Called BEFORE scene moves off screen.
45
+ -- ============================================================================
46
+ function scene:exitScene(inEvent)
47
+ utils:log("endingScene", "exitScene()");
48
+
49
+ -- Remove event listener (not tied to a specific object).
50
+ Runtime:removeEventListener("touch", scene);
51
+
52
+ -- Remove event listener for doing the background animation.
53
+ Runtime:removeEventListener("enterFrame", scene);
54
+
55
+ end -- End exitScene().
56
+
57
+
58
+ -- ============================================================================
59
+ -- Called AFTER scene has moved off screen.
60
+ -- ============================================================================
61
+ function scene:didExitScene(inEvent)
62
+ utils:log("endingScene", "didExitScene()");
63
+ end -- End didExitScene().
64
+
65
+
66
+ -- ============================================================================
67
+ -- Called prior to the removal of scene's "view" (display group).
68
+ -- ============================================================================
69
+ function scene:destroyScene(inEvent)
70
+ utils:log("endingScene", "destroyScene()");
71
+ end -- End destroyScene().
72
+
73
+
74
+ -- ============================================================================
75
+ -- Handle touch events for this scene.
76
+ -- ============================================================================
77
+ function scene:touch(inEvent)
78
+ utils:log("endingScene", "touch()");
79
+ -- Only trigger when a finger is lifted.
80
+ if inEvent.phase == "ended" then
81
+ storyboard.gotoScene("menuScene", "crossFade", 500);
82
+ end
83
+
84
+ return true;
85
+
86
+ end -- End touch().
87
+
88
+
89
+ -- ============================================================================
90
+ -- enterFrame event processing.
91
+ -- ============================================================================
92
+ function scene:enterFrame(inEvent)
93
+ utils:log("endingScene", "enterFrame()");
94
+ end -- End enterFrame().
95
+
96
+ -- Add scene lifecycle event handlers.
97
+ scene:addEventListener("createScene", scene);
98
+ scene:addEventListener("willEnterScene", scene);
99
+ scene:addEventListener("enterScene", scene);
100
+ scene:addEventListener("exitScene", scene);
101
+ scene:addEventListener("didExitScene", scene);
102
+ scene:addEventListener("destroyScene", scene);
103
+
104
+ return scene;
@@ -0,0 +1,145 @@
1
+ -- ****************************************************************************
2
+ -- GLOBAL IMPORTS
3
+ -- ****************************************************************************
4
+
5
+ json = require("json");
6
+ utils = require("utils");
7
+ storyboard = require("storyboard");
8
+ storyboard.purgeOnSceneChange = true;
9
+
10
+
11
+ -- ****************************************************************************
12
+ -- GLOBAL VARIABLES
13
+ -- ****************************************************************************
14
+
15
+ -- Title screen music.
16
+ titleMusic = nil;
17
+ titleMusicChannel = nil;
18
+
19
+ -- Flag: True if using accelerometer input for horizontal motion.
20
+ usingAccelerometer = false;
21
+
22
+ -- This object will store all our game data that needs to be saved.
23
+ gameData = {
24
+
25
+ -- The level currently being played.
26
+ level = 1,
27
+
28
+ -- Current score.
29
+ score = 0
30
+
31
+ };
32
+
33
+
34
+ -- ============================================================================
35
+ -- Saves our game data to persistent storage, overwriting existing file
36
+ -- if any.
37
+ -- ============================================================================
38
+ function saveGameData()
39
+
40
+ local path = system.pathForFile("gameData.json", system.DocumentsDirectory);
41
+ if path ~= nil then
42
+ local fh = io.open(path, "w+");
43
+ fh:write(json.encode(gameData));
44
+ io.close(fh);
45
+ end
46
+
47
+ end -- End saveGameData().
48
+
49
+
50
+ -- ============================================================================
51
+ -- Loads our game data from persistent storage. If no save file found then
52
+ -- calls clear() to get defaults and save to file.
53
+ -- ============================================================================
54
+ function loadGameData()
55
+
56
+ local path = system.pathForFile("gameData.json", system.DocumentsDirectory);
57
+ if path ~= nil then
58
+ local fh = io.open(path, "r");
59
+ if fh == nil then
60
+ clearGameData();
61
+ else
62
+ gameData = json.decode(fh:read("*a"));
63
+ io.close(fh);
64
+ end
65
+ end
66
+
67
+ end -- End loadGameData().
68
+
69
+
70
+ -- ============================================================================
71
+ -- Resets game state to defaults and deletes file, if any, from persistent
72
+ -- storage.
73
+ -- ============================================================================
74
+ function clearGameData()
75
+
76
+ gameData.level = 1;
77
+ gameData.score = 0;
78
+ saveGameData();
79
+
80
+ end -- End clearGameData().
81
+
82
+
83
+ -- ****************************************************************************
84
+ -- ****************************************************************************
85
+ -- ********** ACTUAL EXECUTION BEGINS HERE **********
86
+ -- ****************************************************************************
87
+ -- ****************************************************************************
88
+
89
+ -- Fix for Kindle Fire menu bar. Basically it scales the stage to 20 pixels
90
+ -- smaller than the screen size, which accounts for the 20-pixel tall
91
+ -- menu bar on the Kindle, then shifts the stage up those 20 pixels (and
92
+ -- also left/right accordingly since in letterbox mode it'll be stretched
93
+ -- equally in all directions). This only happens for Kindle Fire, but it
94
+ -- should fix the cutting off at the bottom at the cost of a little bit of
95
+ -- extra black space on the sides.
96
+ if (system.getInfo("model") == "Kindle Fire") then
97
+ local deviceScreen = {
98
+ left = display.screenOriginX, top = display.screenOriginY,
99
+ right = display.contentWidth - display.screenOriginX,
100
+ bottom = display.contentHeight - display.screenOriginY
101
+ }
102
+ local kFireScale = 580 / 600;
103
+ local stage = display.getCurrentStage();
104
+ local stageShift = 10 * display.contentScaleY;
105
+ local screenWidth = deviceScreen.right - deviceScreen.left;
106
+ local xShift = ((screenWidth / kFireScale) - screenWidth) / 2;
107
+ stage:setReferencePoint(display.CenterReferencePoint);
108
+ stage:scale(kFireScale, kFireScale);
109
+ stage.yOrigin = stage.yOrigin - stageShift;
110
+ stage.yReference = stage.yReference + stageShift;
111
+ deviceScreen.left = deviceScreen.left - xShift;
112
+ deviceScreen.right = deviceScreen.right + xShift;
113
+ end
114
+
115
+
116
+ -- Turn off status bar.
117
+ display.setStatusBar(display.HiddenStatusBar);
118
+
119
+
120
+ -- Initial startup info.
121
+ os.execute("cls");
122
+ utils:log("main", "ASTRO RESCUE STARTING...");
123
+ utils:log("main", "Environment: " .. system.getInfo("environment"));
124
+ utils:log("main", "Model: " .. system.getInfo("model"));
125
+ utils:log("main", "Device ID: " .. system.getInfo("deviceID"));
126
+ utils:log("main", "Platform Name: " .. system.getInfo("platformName"));
127
+ utils:log("main", "Platform Version: " .. system.getInfo("version"));
128
+ utils:log("main", "Corona Version: " .. system.getInfo("version"));
129
+ utils:log("main", "Corona Build: " .. system.getInfo("build"));
130
+ utils:log("main", "display.contentWidth: " .. display.contentWidth);
131
+ utils:log("main", "display.contentHeight: " .. display.contentHeight);
132
+ utils:log("main", "display.fps: " .. display.fps);
133
+ utils:log("main", "audio.totalChannels: " .. audio.totalChannels);
134
+
135
+
136
+ -- Seed random number generator.
137
+ math.randomseed(os.time());
138
+
139
+
140
+ -- Make sure channels 1 and 2 are reserved for title and ending music.
141
+ audio.reserveChannels(2);
142
+
143
+ -- Start the title scene.
144
+ utils:log("appInit", "Going to titleScene");
145
+ storyboard.gotoScene("titleScene", "flip", 500);
@@ -0,0 +1,103 @@
1
+ -- Create a scene object to tie functions to.
2
+ local scene = storyboard.newScene();
3
+
4
+ -- ============================================================================
5
+ -- Called when the scene's view does not exist.
6
+ -- ============================================================================
7
+ function scene:createScene(inEvent)
8
+ utils:log("menuScene", "createScene()");
9
+
10
+ -- Create New Game text, center it and attached event handler.
11
+ local txtTitle =
12
+ display.newText("Menu Scene", 0, 0, native.systemFont, 52);
13
+ txtTitle.x = display.contentCenterX;
14
+ txtTitle.y = display.contentCenterY - 170;
15
+ txtTitle:addEventListener("touch",
16
+ function(inEvent)
17
+ if inEvent.phase == "ended" then
18
+ utils:log("menuScene", "go to menuScene");
19
+ storyboard.gotoScene("settingsScene", "zoomOutIn", 500);
20
+ end
21
+ end
22
+ );
23
+ self.view:insert(txtTitle);
24
+ end -- End createScene().
25
+
26
+
27
+ -- ============================================================================
28
+ -- Called BEFORE scene has moved on screen.
29
+ -- ============================================================================
30
+ function scene:willEnterScene(inEvent)
31
+ utils:log("menuScene", "willEnterScene()");
32
+ end -- End willEnterScene().
33
+
34
+
35
+ -- ============================================================================
36
+ -- Called AFTER scene has moved on screen.
37
+ -- ============================================================================
38
+ function scene:enterScene(inEvent)
39
+ utils:log("menuScene", "enterScene()");
40
+ end -- End enterScene().
41
+
42
+
43
+ -- ============================================================================
44
+ -- Called BEFORE scene moves off screen.
45
+ -- ============================================================================
46
+ function scene:exitScene(inEvent)
47
+ utils:log("menuScene", "exitScene()");
48
+
49
+ -- Remove event listener (not tied to a specific object).
50
+ Runtime:removeEventListener("touch", scene);
51
+
52
+ -- Remove event listener for doing the background animation.
53
+ Runtime:removeEventListener("enterFrame", scene);
54
+ end -- End exitScene().
55
+
56
+
57
+ -- ============================================================================
58
+ -- Called AFTER scene has moved off screen.
59
+ -- ============================================================================
60
+ function scene:didExitScene(inEvent)
61
+ utils:log("menuScene", "didExitScene()");
62
+ end -- End didExitScene().
63
+
64
+
65
+ -- ============================================================================
66
+ -- Called prior to the removal of scene's "view" (display group).
67
+ -- ============================================================================
68
+ function scene:destroyScene(inEvent)
69
+ utils:log("menuScene", "destroyScene()");
70
+ end -- End destroyScene().
71
+
72
+
73
+ -- ============================================================================
74
+ -- Handle touch events for this scene.
75
+ -- ============================================================================
76
+ function scene:touch(inEvent)
77
+ utils:log("menuScene", "touch()");
78
+ -- Only trigger when a finger is lifted.
79
+ if inEvent.phase == "ended" then
80
+ storyboard.gotoScene("menuScene", "crossFade", 500);
81
+ end
82
+
83
+ return true;
84
+
85
+ end -- End touch().
86
+
87
+
88
+ -- ============================================================================
89
+ -- enterFrame event processing.
90
+ -- ============================================================================
91
+ function scene:enterFrame(inEvent)
92
+ utils:log("menuScene", "enterFrame()");
93
+ end -- End enterFrame().
94
+
95
+ -- Add scene lifecycle event handlers.
96
+ scene:addEventListener("createScene", scene);
97
+ scene:addEventListener("willEnterScene", scene);
98
+ scene:addEventListener("enterScene", scene);
99
+ scene:addEventListener("exitScene", scene);
100
+ scene:addEventListener("didExitScene", scene);
101
+ scene:addEventListener("destroyScene", scene);
102
+
103
+ return scene;
@@ -0,0 +1,82 @@
1
+ -- Create a scene object to tie functions to.
2
+ local scene = storyboard.newScene();
3
+
4
+ -- ============================================================================
5
+ -- Called when the scene's view does not exist.
6
+ -- ============================================================================
7
+ function scene:createScene(inEvent)
8
+ utils:log("Scene", "createScene()");
9
+ end -- End createScene().
10
+
11
+
12
+ -- ============================================================================
13
+ -- Called BEFORE scene has moved on screen.
14
+ -- ============================================================================
15
+ function scene:willEnterScene(inEvent)
16
+ utils:log("Scene", "willEnterScene()");
17
+ end -- End willEnterScene().
18
+
19
+
20
+ -- ============================================================================
21
+ -- Called AFTER scene has moved on screen.
22
+ -- ============================================================================
23
+ function scene:enterScene(inEvent)
24
+ utils:log("Scene", "enterScene()");
25
+ end -- End enterScene().
26
+
27
+
28
+ -- ============================================================================
29
+ -- Called BEFORE scene moves off screen.
30
+ -- ============================================================================
31
+ function scene:exitScene(inEvent)
32
+ utils:log("Scene", "exitScene()");
33
+ end -- End exitScene().
34
+
35
+
36
+ -- ============================================================================
37
+ -- Called AFTER scene has moved off screen.
38
+ -- ============================================================================
39
+ function scene:didExitScene(inEvent)
40
+ utils:log("Scene", "didExitScene()");
41
+ end -- End didExitScene().
42
+
43
+
44
+ -- ============================================================================
45
+ -- Called prior to the removal of scene's "view" (display group).
46
+ -- ============================================================================
47
+ function scene:destroyScene(inEvent)
48
+ utils:log("Scene", "destroyScene()");
49
+ end -- End destroyScene().
50
+
51
+
52
+ -- ============================================================================
53
+ -- Handle touch events for this scene.
54
+ -- ============================================================================
55
+ function scene:touch(inEvent)
56
+ utils:log("Scene", "touch()");
57
+ -- Only trigger when a finger is lifted.
58
+ if inEvent.phase == "ended" then
59
+ storyboard.gotoScene("menuScene", "crossFade", 500);
60
+ end
61
+
62
+ return true;
63
+
64
+ end -- End touch().
65
+
66
+
67
+ -- ============================================================================
68
+ -- enterFrame event processing.
69
+ -- ============================================================================
70
+ function scene:enterFrame(inEvent)
71
+ utils:log("Scene", "enterFrame()");
72
+ end -- End enterFrame().
73
+
74
+ -- Add scene lifecycle event handlers.
75
+ scene:addEventListener("createScene", scene);
76
+ scene:addEventListener("willEnterScene", scene);
77
+ scene:addEventListener("enterScene", scene);
78
+ scene:addEventListener("exitScene", scene);
79
+ scene:addEventListener("didExitScene", scene);
80
+ scene:addEventListener("destroyScene", scene);
81
+
82
+ return scene;
@@ -0,0 +1,103 @@
1
+ -- Create a scene object to tie functions to.
2
+ local scene = storyboard.newScene();
3
+
4
+ -- ============================================================================
5
+ -- Called when the scene's view does not exist.
6
+ -- ============================================================================
7
+ function scene:createScene(inEvent)
8
+ utils:log("settingsScene", "createScene()");
9
+
10
+ -- Create New Game text, center it and attached event handler.
11
+ local txtTitle =
12
+ display.newText("Settings Scene", 0, 0, native.systemFont, 52);
13
+ txtTitle.x = display.contentCenterX;
14
+ txtTitle.y = display.contentCenterY - 170;
15
+ txtTitle:addEventListener("touch",
16
+ function(inEvent)
17
+ if inEvent.phase == "ended" then
18
+ utils:log("settingsScene", "go to SettingsScene");
19
+ storyboard.gotoScene("endingScene", "zoomOutIn", 500);
20
+ end
21
+ end
22
+ );
23
+ self.view:insert(txtTitle);
24
+ end -- End createScene().
25
+
26
+
27
+ -- ============================================================================
28
+ -- Called BEFORE scene has moved on screen.
29
+ -- ============================================================================
30
+ function scene:willEnterScene(inEvent)
31
+ utils:log("settingsScene", "willEnterScene()");
32
+ end -- End willEnterScene().
33
+
34
+
35
+ -- ============================================================================
36
+ -- Called AFTER scene has moved on screen.
37
+ -- ============================================================================
38
+ function scene:enterScene(inEvent)
39
+ utils:log("settingsScene", "enterScene()");
40
+ end -- End enterScene().
41
+
42
+
43
+ -- ============================================================================
44
+ -- Called BEFORE scene moves off screen.
45
+ -- ============================================================================
46
+ function scene:exitScene(inEvent)
47
+ utils:log("settingsScene", "exitScene()");
48
+
49
+ -- Remove event listener (not tied to a specific object).
50
+ Runtime:removeEventListener("touch", scene);
51
+
52
+ -- Remove event listener for doing the background animation.
53
+ Runtime:removeEventListener("enterFrame", scene);
54
+ end -- End exitScene().
55
+
56
+
57
+ -- ============================================================================
58
+ -- Called AFTER scene has moved off screen.
59
+ -- ============================================================================
60
+ function scene:didExitScene(inEvent)
61
+ utils:log("settingsScene", "didExitScene()");
62
+ end -- End didExitScene().
63
+
64
+
65
+ -- ============================================================================
66
+ -- Called prior to the removal of scene's "view" (display group).
67
+ -- ============================================================================
68
+ function scene:destroyScene(inEvent)
69
+ utils:log("settingsScene", "destroyScene()");
70
+ end -- End destroyScene().
71
+
72
+
73
+ -- ============================================================================
74
+ -- Handle touch events for this scene.
75
+ -- ============================================================================
76
+ function scene:touch(inEvent)
77
+ utils:log("settingsScene", "touch()");
78
+ -- Only trigger when a finger is lifted.
79
+ if inEvent.phase == "ended" then
80
+ storyboard.gotoScene("menuScene", "crossFade", 500);
81
+ end
82
+
83
+ return true;
84
+
85
+ end -- End touch().
86
+
87
+
88
+ -- ============================================================================
89
+ -- enterFrame event processing.
90
+ -- ============================================================================
91
+ function scene:enterFrame(inEvent)
92
+ utils:log("settingsScene", "enterFrame()");
93
+ end -- End enterFrame().
94
+
95
+ -- Add scene lifecycle event handlers.
96
+ scene:addEventListener("createScene", scene);
97
+ scene:addEventListener("willEnterScene", scene);
98
+ scene:addEventListener("enterScene", scene);
99
+ scene:addEventListener("exitScene", scene);
100
+ scene:addEventListener("didExitScene", scene);
101
+ scene:addEventListener("destroyScene", scene);
102
+
103
+ return scene;
@@ -0,0 +1,103 @@
1
+ -- Create a scene object to tie functions to.
2
+ local scene = storyboard.newScene();
3
+
4
+ -- ============================================================================
5
+ -- Called when the scene's view does not exist.
6
+ -- ============================================================================
7
+ function scene:createScene(inEvent)
8
+ utils:log("Scene", "createScene()");
9
+
10
+ -- Create New Game text, center it and attached event handler.
11
+ local txtTitle =
12
+ display.newText("Title Scene", 0, 0, native.systemFont, 52);
13
+ txtTitle.x = display.contentCenterX;
14
+ txtTitle.y = display.contentCenterY - 170;
15
+ txtTitle:addEventListener("touch",
16
+ function(inEvent)
17
+ if inEvent.phase == "ended" then
18
+ utils:log("titleScene", "go to MenuScene");
19
+ storyboard.gotoScene("menuScene", "zoomOutIn", 500);
20
+ end
21
+ end
22
+ );
23
+ self.view:insert(txtTitle);
24
+ end -- End createScene().
25
+
26
+
27
+ -- ============================================================================
28
+ -- Called BEFORE scene has moved on screen.
29
+ -- ============================================================================
30
+ function scene:willEnterScene(inEvent)
31
+ utils:log("Scene", "willEnterScene()");
32
+ end -- End willEnterScene().
33
+
34
+
35
+ -- ============================================================================
36
+ -- Called AFTER scene has moved on screen.
37
+ -- ============================================================================
38
+ function scene:enterScene(inEvent)
39
+ utils:log("Scene", "enterScene()");
40
+ end -- End enterScene().
41
+
42
+
43
+ -- ============================================================================
44
+ -- Called BEFORE scene moves off screen.
45
+ -- ============================================================================
46
+ function scene:exitScene(inEvent)
47
+ utils:log("Scene", "exitScene()");
48
+
49
+ -- Remove event listener (not tied to a specific object).
50
+ Runtime:removeEventListener("touch", scene);
51
+
52
+ -- Remove event listener for doing the background animation.
53
+ Runtime:removeEventListener("enterFrame", scene);
54
+ end -- End exitScene().
55
+
56
+
57
+ -- ============================================================================
58
+ -- Called AFTER scene has moved off screen.
59
+ -- ============================================================================
60
+ function scene:didExitScene(inEvent)
61
+ utils:log("Scene", "didExitScene()");
62
+ end -- End didExitScene().
63
+
64
+
65
+ -- ============================================================================
66
+ -- Called prior to the removal of scene's "view" (display group).
67
+ -- ============================================================================
68
+ function scene:destroyScene(inEvent)
69
+ utils:log("Scene", "destroyScene()");
70
+ end -- End destroyScene().
71
+
72
+
73
+ -- ============================================================================
74
+ -- Handle touch events for this scene.
75
+ -- ============================================================================
76
+ function scene:touch(inEvent)
77
+ utils:log("Scene", "touch()");
78
+ -- Only trigger when a finger is lifted.
79
+ if inEvent.phase == "ended" then
80
+ storyboard.gotoScene("menuScene", "crossFade", 500);
81
+ end
82
+
83
+ return true;
84
+
85
+ end -- End touch().
86
+
87
+
88
+ -- ============================================================================
89
+ -- enterFrame event processing.
90
+ -- ============================================================================
91
+ function scene:enterFrame(inEvent)
92
+ utils:log("Scene", "enterFrame()");
93
+ end -- End enterFrame().
94
+
95
+ -- Add scene lifecycle event handlers.
96
+ scene:addEventListener("createScene", scene);
97
+ scene:addEventListener("willEnterScene", scene);
98
+ scene:addEventListener("enterScene", scene);
99
+ scene:addEventListener("exitScene", scene);
100
+ scene:addEventListener("didExitScene", scene);
101
+ scene:addEventListener("destroyScene", scene);
102
+
103
+ return scene;
@@ -0,0 +1,95 @@
1
+ -- The utils object.
2
+ local utils = {
3
+
4
+ -- Are we running in the simulator?
5
+ isSimulator = false,
6
+
7
+ -- Are we running on an iOS device?
8
+ isIOS = false,
9
+
10
+ -- Are we running on an Android device?
11
+ isAndroid = false,
12
+
13
+ -- Are we running on a Windows desktop?
14
+ isWin = false,
15
+
16
+ -- Are we running on a Mac OS X desktop?
17
+ isMac = false
18
+
19
+ };
20
+
21
+
22
+ -- Set various flags in utils object.
23
+ if string.lower(system.getInfo("environment")) == "simulator" then
24
+ utils.isSimulator = true;
25
+ end
26
+ if string.lower(system.getInfo("platformName")) == "iphone os" then
27
+ utils.isIOS = true;
28
+ end
29
+ if string.lower(system.getInfo("platformName")) == "android" then
30
+ utils.isAndroid = true;
31
+ end
32
+ if string.lower(system.getInfo("platformName")) == "win" then
33
+ utils.isWin = true;
34
+ end
35
+ if string.lower(system.getInfo("platformName")) == "mac os x" then
36
+ utils.isMac = true;
37
+ end
38
+
39
+
40
+ -- ============================================================================
41
+ -- Simple common logging function. Note that this uses json.encode(), which
42
+ -- sometimes won't properly encode user data.
43
+ --
44
+ -- @param inFilename The name of the calling lua file. Required.
45
+ -- @param inMessage Text message to display. Required.
46
+ -- @param inObject An optional object to log. If not nil then json.encode()
47
+ -- is used to convert to a string.
48
+ -- ============================================================================
49
+ function utils:log(inFilename, inMessage, inObject)
50
+
51
+ -- If inObject is nil then we'll print a blank string, but otherwise we'll
52
+ -- encode it and prefix it with a separator.
53
+ if inObject == nil then
54
+ inObject = " ";
55
+ else
56
+ inObject = " - " .. json.encode(inObject);
57
+ end
58
+
59
+ -- Construct and print it.
60
+ local logMessage = inFilename .. " - " .. inMessage .. inObject;
61
+ print(logMessage);
62
+
63
+ end -- End log().
64
+
65
+
66
+ -- ============================================================================
67
+ -- Constructs an audio filename appropriate for the current platform. This
68
+ -- takes care of switching between .ogg and .m4a files for Android and iOS
69
+ -- devices respectively. For a Windows desktop we use the .ogg version and
70
+ -- for a Mac OS X desktop we use the .m4a version.
71
+ --
72
+ -- @param inAudioName The name of the audio file to play without extension.
73
+ -- ============================================================================
74
+ function utils:getAudioFilename(inAudioName)
75
+
76
+ if utils.isIOS == true then
77
+ return inAudioName .. ".m4a";
78
+ elseif utils.isAndroid == true then
79
+ return inAudioName .. ".ogg";
80
+ elseif utils.isWin == true then
81
+ return inAudioName .. ".ogg";
82
+ elseif utils.isMac == true then
83
+ return inAudioName .. ".m4a";
84
+ else
85
+ -- Should never happen, but just in case, at least we send SOMETHING back.
86
+ return inAudioName .. ".ogg";
87
+ end
88
+
89
+ end -- End getAudioFilename().
90
+
91
+
92
+ -- ****************************************************************************
93
+ -- All done defining utils, return it.
94
+ -- ****************************************************************************
95
+ return utils;
data/lib/coronate.rb ADDED
@@ -0,0 +1 @@
1
+ require 'coronate/cli'
metadata ADDED
@@ -0,0 +1,128 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: coronate
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Eiffel Qiu
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-11-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 2.8.0
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 2.8.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '3.12'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '3.12'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 1.8.7
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 1.8.7
83
+ description: Corona project builder tools
84
+ email: eiffelqiu@gmail.com
85
+ executables:
86
+ - coronate
87
+ extensions: []
88
+ extra_rdoc_files:
89
+ - LICENSE.txt
90
+ - README.md
91
+ files:
92
+ - lib/coronate.rb
93
+ - lib/coronate/cli.rb
94
+ - lib/coronate/templates/endingScene.tt
95
+ - lib/coronate/templates/main.tt
96
+ - lib/coronate/templates/menuScene.tt
97
+ - lib/coronate/templates/scene.tt
98
+ - lib/coronate/templates/settingsScene.tt
99
+ - lib/coronate/templates/titleScene.tt
100
+ - lib/coronate/templates/utils.tt
101
+ - LICENSE.txt
102
+ - README.md
103
+ - bin/coronate
104
+ homepage: http://github.com/eiffelqiu/coronate
105
+ licenses:
106
+ - MIT
107
+ metadata: {}
108
+ post_install_message:
109
+ rdoc_options: []
110
+ require_paths:
111
+ - lib
112
+ required_ruby_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ! '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ required_rubygems_version: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ requirements: []
123
+ rubyforge_project:
124
+ rubygems_version: 2.1.9
125
+ signing_key:
126
+ specification_version: 4
127
+ summary: Corona Builder
128
+ test_files: []