-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSplash.lua
More file actions
89 lines (70 loc) · 2.61 KB
/
Splash.lua
File metadata and controls
89 lines (70 loc) · 2.61 KB
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
-- Splash.lua
-- local json = require 'json'
local composer = require('composer')
local scene = composer.newScene()
-- local const = require 'constants'
local globalData = require 'globalData'
local Util = require 'Util'
local tim = nil
local logo = nil
local destination = nil
local function gotoDestination(event)
composer.gotoScene(destination, {effect='slideLeft'})
return true -- we handled tap event
end
function scene:create(event)
local sceneGroup = self.view
end
function scene:show(event)
local sceneGroup = self.view
local phase = event.phase
if phase == 'will' then
-- Code here runs when the scene is still off screen (but is about to come on screen)
-- Util.setBackground(sceneGroup)
logo = display.newImage(sceneGroup, 'assets/splashlogo.png', system.ResourceDirectory, display.contentCenterX, display.contentCenterY)
-- png is 420x420 pixels
-- scale so it occupies one half of screen width
local scale = display.actualContentWidth / 420 / 2
logo:scale(scale,scale)
assert(logo:addEventListener('tap', gotoDestination))
-- https://docs.coronalabs.com/guide/graphics/3D.html
transition.to(logo.path, {time=1000, --[[x1=80, y1=-80,]] x4=-420/2, y4=420/2})
transition.fadeOut(logo, {time=1000})
transition.scaleTo(logo, {time=1000, xScale=0.1, yScale=0.1})
elseif phase == 'did' then
destination = event.params.scene
-- Code here runs when the scene is entirely on screen
tim = timer.performWithDelay(1000, gotoDestination, 1)
globalData:loadSettings()
Util.loadMainDictionary()
Util.loadHintDictionary()
end
end
function scene:hide(event)
local sceneGroup = self.view
local phase = event.phase
if phase == 'will' then
-- Code here runs when the scene is on screen (but is about to go off screen)
logo:removeEventListener('tap', gotoDestination)
elseif phase == 'did' then
-- Code here runs immediately after the scene goes entirely off screen
end
end
function scene:destroy(event)
local sceneGroup = self.view
-- Code here runs prior to the removal of scene's view
if tim then
timer.cancel(tim)
tim = nil
end
composer.removeScene('Splash')
end
-- -----------------------------------------------------------------------------------
-- Scene event function listeners
-- -----------------------------------------------------------------------------------
scene:addEventListener('create', scene)
scene:addEventListener('show', scene)
scene:addEventListener('hide', scene)
scene:addEventListener('destroy', scene)
-- -----------------------------------------------------------------------------------
return scene