2013-02-24 166 views
0

storyboard.gotoScene("facebook", "fade", 400)不工作,如果我点击按钮,我没有得到任何错误信息在终端。我究竟做错了什么 ?按钮gotoScene不工作

-- requires 
display.setStatusBar(display.HiddenStatusBar) 
_W = display.contentWidth; --Returns Screen Width 
_H = display.contentHeight; --Returns Screen Height 


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

-- background 

function scene:createScene(event) 

    local screenGroup = self.view 
    background = display.newImage("restart.png") 
    screenGroup:insert(background) 

    button = display.newImage("share2.png") 
    button.x = display.contentWidth/2 
    button.y = display.contentHeight -400 
end 

    function listener(event) 
    if event.phase == "began" then 
      print(event.name.." occurred") 
     storyboard.gotoScene("facebook", "fade", 400) 
    end 
end 

function scene:enterScene(event) 
    storyboard.purgeScene("game") 
    button:addEventListener("tap", listener) 
end 

function scene:exitScene(event) 
    button:removeEventListener("tap", listener) 
end 

function scene:destroyScene(event) 
end 

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

return scene 

回答

0

它看起来像电晕,当你调用一个场景的Facebook“或更名Facebook来 'postmyscore' 和不喜欢它的工作原理

1

“tap”事件和“touch”事件是不同的,它们会得到传递给事件处理程序的不同“阶段”。你有你的事件处理程序编程的方式,你期待“触摸”事件(开始,结束,移动)。轻击事件并不会真正产生任何阶段,无论您是否被轻叩。

要么改变这两条线:

button:addEventListener("tap", listener) 
button:removeEventListener("tap", listener) 

到:

button:addEventListener("touch", listener) 

button:removeEventListener("touch", listener) 

或者您可以将听者更改为:

function listener(event) 
    print(event.name.." occurred") 
    storyboard.gotoScene("facebook", "fade", 400) 
end 
+0

嗨罗布,当我尝试这两个选项我得到:运行时错误?:0:尝试调用方法'dispatchEvent' 2013-02-25 02:52:25

0

自Coronas上次更新以来,我遇到了同样的问题。我通过删除事件阶段的if检查来解决问题。只是注释掉event.phase检查你的监听功能:

function listener(event) 
--if event.phase == "began" then 
    print(event.name.." occurred") 
    storyboard.gotoScene("facebook", "fade", 400) 
end 
0

facebook.lua已经集成了inbuild API中,因此它可能产生的问题,更多您所使用自来水事件,所以在听者不需要检查阶段,或者您可以使用触摸事件。