0
此代码旨在在场景1和场景2之间的定时器之间切换场景。当currentBar变量计数器达到4时,它应该去scene3但是不会。这个例子从scene2开始。Lua if/elseif导致不同场景不起作用
local composer = require ("composer")
local scene = composer.newScene()
local function showScene2()
local options = {
effect = "slideLeft",
time = 30,
}
composer.gotoScene("scene2", options)
end
-- create scene
function scene:createScene (event)
local sceneGroup = self.view
end
function scene:show(event)
local sceneGroup = self.view
local phase = event.phase
if (phase == "will") then
local background = display.newImage("images/staveBlankgrey2.png", 240, 160)
note1 = display.newImage("images/crDown.png", 130, 171)
note2 = display.newImage("images/crUp.png", 320, 144)
sceneGroup:insert(background)
sceneGroup:insert(note1)
sceneGroup:insert(note2)
elseif (phase == "did") then
currentBar = currentBar + 1
这部分工作得很好:
if currentBar < 4 then
local function showScene2()
local options = {
effect = "slideLeft",
time = 30,
}
composer.gotoScene("evenBars", options)
end
timer.performWithDelay(tempo, showEvenBars)
本节不工作:
elseif currentBar == 4 then
local function showEndBar()
local options = {
effect = "slideLeft",
time = 30,
}
composer.gotoScene("endBar", options)
end
timer.performWithDelay(tempo, showEndBar)
end
end
end
function scene:hide(event)
local sceneGroup = self.view
local phase = event.phase
end
function scene:destroy(event)
local sceneGroup = self.view
end
scene:addEventListener("create", scene)
scene:addEventListener("show", scene)
scene:addEventListener("hide", scene)
scene:addEventListener("destroy", scene)
return scene
我缺少什么?谢谢。