coronate 0.0.1

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.
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: []