2013-11-01 3 views
0

У меня есть 3 кнопки, и раскадровка будет только переходить на 2 из них. Вот мой код:Corona SDK Экранный переход не работает на одной кнопке

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

--Forward References 
local mbg 
local title 
local pbtn 
local ibtn 
local cbtn 

local centerX = display.contentCenterX 
local centerY = display.contentCenterY 
display.setStatusBar(display.HiddenStatusBar) 

function anim_pbtn(event) 
    transition.to(pbtn, {time = 1000, alpha = 0, xScale = 2, yScale = .6}) 
    storyboard.gotoScene("game", "fade", 1000) 
end 

function anim_ibtn(event) 
    transition.to(ibtn, {time = 1000, alpha = 0, xScale = 2, yScale = .6}) 
    storyboard.gotoScene("leaderboard", "fade", 1000) 
end 

function anim_cbtn(event) 
    transition.to(cbtn, {time = 1000, alpha = 0, xScale = 2, yScale = .6}) 
    storyboard.gotoScene("credits", "fade", 1000) 
end 

function scene:createScene(event) 
local screenGroup = self.view 

mbg = display.newImage("mbg.png") 
    screenGroup:insert(mbg) 
    mbg.x = centerX 
    mbg.y = centerY 
    mbg.width = display.width 
    mbg.height = display.height 

title = display.newImage("title.png") 
    screenGroup:insert(title) 
    title.xScale = .7 
    title.yScale = .7 
    title.x = centerX 

pbtn = display.newImage("play_btn.png") 
    screenGroup:insert(pbtn) 
    pbtn.xScale = .7 
    pbtn.yScale = .7 
    pbtn.x = centerX 
    pbtn.y = display.contentHeight - 210 

ibtn = display.newImage("ins_btn.png") 
    screenGroup:insert(ibtn) 
    ibtn.xScale = .7 
    ibtn.yScale = .7 
    ibtn.x = centerX 
    ibtn.y = display.contentHeight - 130 

cbtn = display.newImage("cre_btn.png") 
    screenGroup:insert(cbtn) 
    cbtn.xScale = .7 
    cbtn.yScale = .7 
    cbtn.x = centerX 
    cbtn.y = display.contentHeight - 50 
end 

function scene:enterScene(event) 
pbtn:addEventListener("tap", anim_pbtn) 
ibtn:addEventListener("tap", anim_ibtn) 
cbtn:addEventListener("tap", anim_cbtn) 
end 

function scene:exitScene(event) 
pbtn:removeEventListener("tap", anim_pbtn) 
ibtn:removeEventListener("tap", anim_ibtn) 
end 

function scene:destroyScene(event) 

end 



scene:addEventListener("createScene", scene) 
scene:addEventListener("enterScene", scene) 
scene:addEventListener("exitScene", scene) 
scene:addEventListener("destroyScene", scene) 

return scene 

Что случилось с кнопкой cbtn и функции anim_cbtn, что экран не переход щем? У меня есть game.lua, leaderboard.lua и файл credits.lua. Я отлично разбираюсь в java, но когда дело доходит до lua, я просто ужасен. Я никогда не смогу найти свои ошибки. Вот моя ошибка:

Runtime error 
?:0: attempt to call method 'dispatchEvent' (a nil value) 
stack traceback: 
[C]: in function 'dispatchEvent' 
?: in function 'gotoScene' 
...ibrary/Application Support/Outlaw/Sandbox/6/menu.lua:27: in function                             <...ibrary/Application Support/Outlaw/Sandbox/6/menu.lua:25> 
?: in function <?:218> 

Что мне делать?

+0

Проверьте, существуют ли ваши 'credits.lua' и ресурсы, используемые внутри этого класса. Также проверьте чувствительность к регистру изображений ... :) –

+0

Что вы имеете в виду? – user2455722

ответ

0

сообщение об ошибке указывает на то, что ошибка происходит из-за действия:

storyboard.gotoScene("credits", "fade", 1000) 

Итак:

  • Убедитесь, что ваш класс credits.lua есть в папке, где ваш main.lua существует.
  • Убедитесь, что все методы и переменные верны внутри вашего класса: credits.lua.
  • LUA чувствителен к регистру к ресурсам

    т.е.., myImage.png отличается от myimage.png и MyImage.png и myImage.jpg.

Итак, убедитесь, что эти вещи правильно ...

Держите кодирование ...........

0

Вы, вероятно, не следует использовать "кредиты" (и credits.lua) как имя. Попробуйте переименовать его в gamecredits. Существует основной модуль (он устарел, но, по-видимому, все еще вызывает проблемы) назвал кредиты.

Если у вас все еще есть проблемы после переименования в gamecredits, у вас, вероятно, есть ошибка в этом модуле.

+0

Нет, мне просто нужно было загладить имя. Спасибо, в любом случае!!! – user2455722

Смежные вопросы