2013-02-24 165 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中,因此它可能產生的問題,更多您所使用自來水事件,所以在聽者不需要檢查階段,或者您可以使用觸摸事件。