-
Notifications
You must be signed in to change notification settings - Fork 0
/
easyComp.lua
176 lines (137 loc) · 4.99 KB
/
easyComp.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
---------------------------------------------------------------------------------
--
-- scene2.lua
--
---------------------------------------------------------------------------------
local storyboard = require( "storyboard" )
local widget = require( "widget" ) -- Require the widget library
local tHeight -- forward reference
local scene = storyboard.newScene()
---------------------------------------------------------------------------------
-- BEGINNING OF YOUR IMPLEMENTATION
---------------------------------------------------------------------------------
local defaultField, text1, text2, text3, memTimer
local centerX = display.contentCenterX
local centerY = display.contentCenterY
local isAndroid = "Android" == system.getInfo("platformName")
local inputFontSize = 18
local inputFontHeight = 30
tHeight = 30
if isAndroid then
-- Android text fields have more chrome. It's either make them bigger, or make the font smaller.
-- We'll do both
inputFontSize = 14
inputFontHeight = 42
tHeight = 40
end
local submitButtonPress = function( event )
print("Home button pressed")
storyboard.gotoScene( "home", "slideRight", 400 )
end
local homeButtonPress = function( event )
print("Home button pressed")
storyboard.gotoScene( "home", "slideRight", 400 )
end
local backButtonPress = function( event )
print("Back button pressed")
storyboard.gotoScene( "play", "slideRight", 400 )
end
local function fieldHandler( textField )
return function( event )
if ( "began" == event.phase ) then
-- This is the "keyboard has appeared" event
-- In some cases you may want to adjust the interface when the keyboard appears.
elseif ( "ended" == event.phase ) then
-- This event is called when the user stops editing a field: for example, when they touch a different field
elseif ( "editing" == event.phase ) then
elseif ( "submitted" == event.phase ) then
-- This event occurs when the user presses the "return" key (if available) on the onscreen keyboard
print( textField().text )
-- Hide keyboard
native.setKeyboardFocus( nil )
end
end
end
-- Called when the scene's view does not exist:
function scene:createScene( event )
local screenGroup = self.view
local fields = display.newGroup()
defaultField = native.newTextField( 50, 50, 180, tHeight )
defaultField.font = native.newFont( native.systemFontBold, inputFontSize )
defaultField:addEventListener( "userInput", fieldHandler( function() return defaultField end ) )
playText = display.newText( "Enter your word", centerX-70, 0, native.systemFontBold, 24 )
playText:setFillColor( 1 )
homeButton = widget.newButton
{
defaultFile = "buttonBlue.png",
overFile = "buttonBlueOver.png",
label = "Home",
labelColor =
{
default = { 1, 1, 1 },
},
fontSize = 20,
emboss = true,
onPress = homeButtonPress,
}
submitButton = widget.newButton
{
defaultFile = "buttonBlue.png",
overFile = "buttonBlueOver.png",
label = "Submit",
labelColor =
{
default = { 1, 1, 1 },
},
fontSize = 20,
emboss = true,
onPress = submitButtonPress,
}
backButton = widget.newButton
{
id = "arrow",
defaultFile = "buttonArrow.png",
overFile = "buttonArrowOver.png",
onEvent = backButtonPress,
}
submitButton.x = display.contentCenterX - submitButton.contentWidth/2; submitButton.y = 370
homeButton.x = display.contentCenterX - homeButton.contentWidth/2; homeButton.y = 435
backButton.x = 0; backButton.y = 0
--fields:insert(defaultField)
screenGroup:insert(defaultField)
screenGroup:insert( homeButton )
screenGroup:insert( backButton )
screenGroup:insert( submitButton )
screenGroup:insert( playText )
end
-- Called immediately after scene has moved onscreen:
function scene:enterScene( event )
print( "2: enterScene event" )
storyboard.removeAll()
-- remove previous scene's view
storyboard.purgeScene( "play" )
-- Update Lua memory text display
end
-- Called when scene is about to move offscreen:
function scene:exitScene()
print( "2: exitScene event" )
end
-- Called prior to the removal of scene's "view" (display group)
function scene:destroyScene( event )
print( "((destroying scene 2's view))" )
end
---------------------------------------------------------------------------------
-- END OF YOUR IMPLEMENTATION
---------------------------------------------------------------------------------
-- "createScene" event is dispatched if scene's view does not exist
scene:addEventListener( "createScene", scene )
-- "enterScene" event is dispatched whenever scene transition has finished
scene:addEventListener( "enterScene", scene )
-- "exitScene" event is dispatched before next scene's transition begins
scene:addEventListener( "exitScene", scene )
-- "destroyScene" event is dispatched before view is unloaded, which can be
-- automatically unloaded in low memory situations, or explicitly via a call to
-- storyboard.purgeScene() or storyboard.removeScene().
scene:addEventListener( "destroyScene", scene )
---------------------------------------------------------------------------------
return scene