У меня есть небольшая проблема с короной SDK composer API. У меня есть 3 файла .lua - main.lua, character.lua и job.lua. Проблема в том, что когда я запускаю игру, она автоматически переходит к character.lua, и все в порядке. Затем я перехожу на job.lua, и это работает так же хорошо, но когда я пытаюсь вернуться к character.lua- ничего не происходит (фон не меняется). Вот как это выглядит:Corona SDK композитор - смена сцен не работает
main.lua:
local composer = require("composer")
composer.gotoScene("character")
character.lua:
local composer = require("composer")
local scene = composer.newScene()
-- -----------------------------------------------------------------------------------------------------------------
-- All code outside of the listener functions will only be executed ONCE unless "composer.removeScene()" is called.
-- -----------------------------------------------------------------------------------------------------------------
-- local forward references should go here
-- -------------------------------------------------------------------------------
-- "scene:create()"
function scene:create(event)
local sceneGroup = self.view
-- Initialize the scene here.
-- Example: add display objects to "sceneGroup", add touch listeners, etc.
local widget = require("widget")
local bottomTabButtons ={
{ width=32, height=32, defaultFile="character.png", overFile="character_active.png", selected="true"},
{ width=32, height=32, defaultFile="job.png", overFile="job_active.png", onPress=function() composer.gotoScene("job")end},
}
local bottomBar = widget.newTabBar{
top = display.contentHeight-40,
buttons = bottomTabButtons
}
end
-- "scene:show()"
function scene:show(event)
local sceneGroup = self.view
local phase = event.phase
if (phase == "will") then
-- Called when the scene is still off screen (but is about to come on screen).
elseif (phase == "did") then
-- Called when the scene is now on screen.
-- Insert code here to make the scene come alive.
-- Example: start timers, begin animation, play audio, etc.
end
end
-- "scene:hide()"
function scene:hide(event)
local sceneGroup = self.view
local phase = event.phase
if (phase == "will") then
-- Called when the scene is on screen (but is about to go off screen).
-- Insert code here to "pause" the scene.
-- Example: stop timers, stop animation, stop audio, etc.
elseif (phase == "did") then
-- Called immediately after scene goes off screen.
end
end
-- "scene:destroy()"
function scene:destroy(event)
local sceneGroup = self.view
-- Called prior to the removal of scene's view ("sceneGroup").
-- Insert code here to clean up the scene.
-- Example: remove display objects, save state, etc.
end
-- -------------------------------------------------------------------------------
-- Listener setup
scene:addEventListener("create", scene)
scene:addEventListener("show", scene)
scene:addEventListener("hide", scene)
scene:addEventListener("destroy", scene)
-- -------------------------------------------------------------------------------
return scene
job.lua:
local composer = require("composer")
local widget = require("widget")
local scene = composer.newScene()
-- -----------------------------------------------------------------------------------------------------------------
-- All code outside of the listener functions will only be executed ONCE unless "composer.removeScene()" is called.
-- -----------------------------------------------------------------------------------------------------------------
-- local forward references should go here
-- -------------------------------------------------------------------------------
-- "scene:create()"
function scene:create(event)
local sceneGroup = self.view
-- Initialize the scene here.
-- Example: add display objects to "sceneGroup", add touch listeners, etc.
local background = display.newImage("background.png")
background.x=display.contentCenterX
background.y=display.contentCenterY
background.height=display.contentHeight
background.width=display.contentWidth
local function gotoCharacter(event)
composer.gotoScene("character")
print('asd')
end
local bottomTabButtons ={
{ width=32, height=32, defaultFile="character.png", overFile="character_active.png", onPress=function() composer.gotoScene("character") end},
{ width=32, height=32, defaultFile="job.png", overFile="job_active.png", selected="true"},
}
local bottomBar = widget.newTabBar{
top = display.contentHeight-40,
buttons = bottomTabButtons
}
end
-- "scene:show()"
function scene:show(event)
local sceneGroup = self.view
local phase = event.phase
if (phase == "will") then
-- Called when the scene is still off screen (but is about to come on screen).
elseif (phase == "did") then
-- Called when the scene is now on screen.
-- Insert code here to make the scene come alive.
-- Example: start timers, begin animation, play audio, etc.
end
end
-- "scene:hide()"
function scene:hide(event)
local sceneGroup = self.view
local phase = event.phase
if (phase == "will") then
-- Called when the scene is on screen (but is about to go off screen).
-- Insert code here to "pause" the scene.
-- Example: stop timers, stop animation, stop audio, etc.
elseif (phase == "did") then
-- Called immediately after scene goes off screen.
end
end
-- "scene:destroy()"
function scene:destroy(event)
local sceneGroup = self.view
-- Called prior to the removal of scene's view ("sceneGroup").
-- Insert code here to clean up the scene.
-- Example: remove display objects, save state, etc.
end
-- -------------------------------------------------------------------------------
-- Listener setup
scene:addEventListener("create", scene)
scene:addEventListener("show", scene)
scene:addEventListener("hide", scene)
scene:addEventListener("destroy", scene)
-- -------------------------------------------------------------------------------
return scene
Заранее спасибо!