1

2 つのシーンがあります。1 つのメイン シーンにはボタンがあり、もう 1 つのシーンにはテキストが 1 つしかありません。

メイン シーンでのボタン アクション:

local options =
{
    effect = "fade",
    time = 400,
    params =
    {
        sample_var = "anything",
        custom = "you want",
        data = "here"
    }
}
storyboard.showOverlay("inventory", options)

オーバーレイ シーン:

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

function scene:createScene( event )
    local group = self.view
    local title = display.newText("Inventory", 20, 20, native.systemFont, 16)
    title:setTextColor(255,0,0)
    group:insert(title)
end

function scene:enterScene( event )
    print("enterScene")
end

function scene:exitScene( event )
    print("exitScene")
end

function scene:destroyScene( event )
    print("destroyScene")
end

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

return scene

「ボタン」を押した後、何も起こりません(エラーはありません)。メイン シーンは引き続きアクティブで、アクセス可能です。公式ドキュメントによると、ボタンを押すとシーンが表示されるはずです。

私は何を取りこぼしたか?

注: どちらのシーンも同様の構造 (ストーリーボードを使用) であり、メイン シーンとしてのボタンは次のコードで作成されます。

function scene:createScene( event )
  btnInventory = display.newImage("images/btn_right.png", 320, 600)
  btnInventory:addEventListener("tap", openInventory)
end

openInventory最初のコード リストです。

4

2 に答える 2

0

最終的に、セラミック タイル マップがすべてをカバーしていることがわかりました (最上層のようなものです)。マップが削除された場合、オーバーレイは正常に機能します。

psDirectorモジュールはストーリーボードよりも使いやすいことがわかりました。私はそれに切り替えました。

于 2013-11-29T02:44:07.317 に答える
0

うまくいくはずです、私はちょうどそれを試しました。

おそらく、シーン ファイル名にタイプミスがあるか、それともサブフォルダーにあるのでしょうか?

サブフォルダーにある場合は、次のように呼び出す必要があります。

storyboard.showOverlay("mysubfolder.inventory", options)
于 2013-11-28T10:59:45.873 に答える