Раскадровка Corona SDK не переходит в сцены

Я создаю главное меню и хочу обрабатывать свои сцены с помощью раскадровки.

Вот мой main.lua:

-- Hide status bar
display.setStatusBar(display.HiddenStatusBar);

-- Some global variables
local assetsPath = "media/"
local lettersPath = "media/letters/"

-- Initialize storyboard
local storyboard = require ("storyboard")
local widget = require("widget")

-- Load first scene
storyboard.gotoScene("splashscene")

а вот мой splashscene.lua:

local storyboard = require("storyboard")
local scene = storyboard.newScene()

местный bgimg, moratechlogo, текст

локальная функция onSceneTouch(self,event)

if event.phase == "began" then

    storyboard.goToScene("mainmenuscene", "fade", 400)

    return true
end 

конец

сцена функции: createScene (событие)

local screenGroup = self.view

bgimg = display.newImage("media/splashBG.png",0,0)
moratechlogo = display.newImage("media/moratechgames.png", display.contentWidth/2 - 150, display.contentHeight/2 - 100)
screenGroup:insert(bgimg)
screenGroup:insert(moratechlogo)
moratechlogo.touch = onSceneTouch


text = display.newText("Tap here to continue...", display.contentWidth /2 - 76, display.contentHeight - 30)
text:setTextColor(255)
screenGroup:insert(text)

text.touch = onSceneTouch

конец

функция scene:enterScene(событие) local screenGroup = self.view

конец

сцена функции: выход из сцены (событие)

-- remove touch listener for image text:removeEventListener( "touch", text ) moratechlogo:removeEventListener("touch",moratechlogo) end function scene:destroyScene( event ) end scene:addEventListener( "createScene", scene ) scene:addEventListener( "enterScene", scene ) scene:addEventListener( "exitScene", scene ) scene:addEventListener( "destroyScene", scene ) return scene

But when I click/touch the text and/or the logo it doesn't transit to mainmenuscene.lua Any idea why?


person TheNotMe    schedule 21.07.2013    source источник
comment
Возможно, я забыл добавить прослушиватель событий к логотипу и тексту?   -  person TheNotMe    schedule 21.07.2013
comment
Да, я сделал. Но теперь он говорит мне: попытка перейти к goToScene (значение nil). Это почему?   -  person TheNotMe    schedule 21.07.2013


Ответы (2)


Итак, видимо, я забыл добавить прослушиватели событий к логотипу и тексту в методе enterScene. Кроме того, я опечатался в «gotoScene», вместо этого я написал «goToScene».

Проблема исправлена.

person TheNotMe    schedule 21.07.2013

Вы также можете попробовать использовать widget.newButton http://docs.coronalabs.com/api/library/widget/newButton.html

У кнопки есть варианты метки, фонового изображения и многого другого!

local widget = require( "widget" )

local button1 = widget.newButton { left = 100, top = 200, id = "button1", label = "Default", onPress = function() storyboard.gotoScene( "scenes", {effect="someEffect", time=someTime ) }

Если вы создали какие-либо другие функции, такие как storyboard.hide_someObject(), вы можете поместить их прямо под storyboard.gotoScene, и это произойдет onPress при нажатии кнопки

person benlevywebdesign    schedule 18.03.2015