0

storyboard.gotoScene("facebook", "fade", 400)ボタンをタップしても機能せず、端末にエラーメッセージが表示されません。私は何を間違っていますか?

-- 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
4

5 に答える 5

1

「タップ」イベントと「タッチ」イベントは異なり、イベント ハンドラーに渡される「フェーズ」が異なります。イベント ハンドラーをプログラムした方法では、「タッチ」イベント (開始、終了、移動) が予想されます。タップ イベントは、タップされたかどうかに関係なく、実際にはフェーズを生成しません。

次の 2 行を変更します。

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
于 2013-02-25T01:17:39.257 に答える
0

facebook.lua は既に inbuild API に統合されているため、問題が発生する可能性があります。さらに、タップ イベントを使用しているため、リスナーでフェーズを確認する必要がないか、タッチ イベントを使用できます。

于 2013-05-31T12:23:48.490 に答える
0

コロナの最後の更新以来、私は同じ問題を抱えていました。イベントフェーズのifチェックを削除することで問題を修正しました。リスナー関数の event.phase チェックをコメントアウトするだけです。

function listener(event) 
--if event.phase == "began" then
    print(event.name.." occurred") 
    storyboard.gotoScene("facebook", "fade", 400)
end
于 2013-04-19T16:17:39.570 に答える
0

これを試して:

storyboard.gotoScene("facebook", {effect = "fade", time=400})

または:

local options =
{
    effect = "fade",
    time = 400,
}

storyboard.gotoScene("facebook", options)

http://docs.coronalabs.com/api/library/storyboard/gotoScene.html

于 2013-02-26T21:14:53.593 に答える
0

シーンを 'facebook' と呼ぶか、facebook の名前を 'postmyscore' に変更すると、コロナが気に入らないようです。

于 2013-02-26T21:34:47.410 に答える