Мои кнопки и изменения сцены содержат ошибки, кнопки на моей сцене титров ниже работают и работают на соответствующих экранах, но они будут делать это только один раз.Поэтому я не могу перейти к параметрам, затем вернуться к экрану заголовка, а затем снова вернуться к параметрам - и я не могу понять почему?
Вот мой файл титров:
module(..., package.seeall)
local assetPath = "assets/"
local mainGroup = display.newGroup()
function new()
local ui = require("ui")
local titleScreen = display.newImageRect(assetPath .. "mainMenu.png", display.contentWidth, display.contentHeight)
titleScreen.x = display.contentWidth / 2
titleScreen.y = display.contentHeight / 2
mainGroup:insert(titleScreen)
local onPlayTouch = function( event )
if event.phase == "release" then
director:changeScene("gameScreen")
end
end
local playButton = ui.newButton{
defaultSrc = assetPath .. "playnowbtn.png",
defaultX = 222,
defaultY = 62,
overSrc = assetPath .. "playnowbtn-over.png",
overX = 222,
overY = 62,
onEvent = onPlayTouch
}
playButton.x = display.contentWidth / 2
playButton.y = 50;
mainGroup:insert( playButton )
local onOptionTouch = function( event )
if event.phase == "release" then
director:changeScene("optionsScreen")
end
end
local optionButton = ui.newButton{
defaultSrc = assetPath .. "playnowbtn.png",
defaultX = 222,
defaultY = 62,
overSrc = assetPath .. "playnowbtn-over.png",
overX = 222,
overY = 62,
onEvent = onOptionTouch
}
optionButton.x = display.contentWidth / 2
optionButton.y = 190;
mainGroup:insert( optionButton )
return mainGroup
end
МойФайл опций выглядит следующим образом:
module(..., package.seeall)
function new()
local assetPath = "assets/"
local localGroup = display.newGroup()
local background = display.newImage (assetPath .."optionsScreen.png")
localGroup:insert(background)
local onBackTouch = function( event )
if event.phase == "release" then
director:changeScene("titleScreen")
end
end
local backButton = ui.newButton{
defaultSrc = assetPath .. "playnowbtn.png",
defaultX = 222,
defaultY = 62,
overSrc = assetPath .. "playnowbtn-over.png",
overX = 222,
overY = 62,
onEvent = onBackTouch
}
backButton.x = display.contentWidth / 2
backButton.y = display.contentHeight / 2
localGroup:insert(backbutton)
return localGroup
end
Теперь кнопка отображается на сцене опций и реагирует на прикосновения, но не перенаправляет обратно на экран титров.
Мне кажется, я запуталасьс группами и только назначением изображений для сцен, а не для всей игры?
Кто-нибудь может мне помочь, спасибо.
РЕДАКТИРОВАТЬ:
Я также получаю эти ошибки во время выполнения, когданажатие кнопок.
Ошибка времени выполнения /Users/Lewis/Desktop/proj/optionsScreen.lua:30: ОШИБКА: ожидается таблица.Если это вызов функции, возможно, вы использовали '.'вместо ':' трассировки стека: [C]:?[C]: в функции 'insert' /Users/Lewis/Desktop/proj/optionsScreen.lua:30: в функции 'new' /Users/Lewis/Desktop/proj/director.lua:118: в функции 'loadScene' /Users / Lewis / Desktop / proj / Director.lua: 415: в функции 'changeScene' /Users/Lewis/Desktop/proj/titlescreen.lua:67: в функции 'onEvent' / Users / Lewis / Desktop / proj / ui.lua: 94: в функции?: в функции Ошибка выполнения /Users/Lewis/Desktop/proj/director.lua:151: попытка вызвать поле 'unloadMe' (нулевое значение) трассировки стека: [C]: в функции 'unloadMe'/Users/Lewis/Desktop/proj/director.lua:151: в функции' _listener '?: В функции?: В функции