【问题标题】:How to show Pop-ups in Corona SDK?如何在 Corona SDK 中显示弹出窗口?
【发布时间】:2014-01-09 10:54:45
【问题描述】:

我正在尝试使用 storyboard.showOverlay() 在按钮单击事件上显示一个弹出窗口,这只是另一个场景之上的一个场景。是否有任何功能可以显示正确的弹出窗口?

【问题讨论】:

    标签: coronasdk popupwindow corona-storyboard


    【解决方案1】:

    您也可以使用故事板来实现这一点 http://docs.coronalabs.com/api/library/storyboard/hideOverlay.html

    【讨论】:

    • 感谢您的建议。为此,我正在使用 storyboard.showOverlay 和 storyboard.hideOverlay。我在叠加上的场景变化时遇到问题。我有一个暂停按钮,它在触摸时覆盖了 3 个按钮,分别是返回菜单、恢复和重新启动。在“返回菜单”按钮事件中,我正在使用 storyboard.hideOverlay 和 storyboard.gotoScene,它们应该能够将我重定向到 Menu 类。但它不起作用并给出错误。有没有办法解决这个错误?
    • 您可以一次添加一个弹出窗口,一旦它从屏幕隐藏,然后可以添加另一个,请检查问题原因。
    【解决方案2】:

    是的,

    我们可以使用storyboard.showOverlay() 来显示一个弹出屏幕。 第 1 步: 这是它的块代码。如果我们设置“isModal = true”,那么它将限制用户在后窗执行任何活动。

    local options =
    {
        effect = "fade",
        time = 100,
        params =
            {
                sample_var = "anything parameter to send",
                theme = "another parameter to send",
                data = "another parameter to send"
            },
        isModal = true
    }
    
    storyboard.showOverlay( "pause", options )
    

    第 2 步:再次隐藏叠加层:

         local options ={
        effect = "fade",
        time = 100,
        isModal = false,
    }storyboard.hideOverlay( "pause", options )
    

    我们也可以实现overlay的委托方法:

    -- 覆盖层到位后将调度以下事件

        function scene:overlayBegan( event )
    
       -- print( "Showing overlay: " .. event.sceneName )
    end
    scene:addEventListener( "overlayBegan" )
    

    -- 删除覆盖后将调度以下事件

        function scene:overlayEnded( event )
    
       -- print( "Overlay removed: " .. event.sceneName )
    end
    scene:addEventListener( "overlayEnded" )
    

    【讨论】:

    • 感谢您的回答。但我不想为此目的使用叠加层。作为覆盖调用一个类。我只想知道是否有任何显示弹出窗口的方法。例如,为了显示按钮,我们导入小部件类并显示按钮。就像除了覆盖之外有任何类或方法一样吗?
    【解决方案3】:

    有许多不同的方法来做弹出:native.newTextBox、native.showAlert、你自己的带有图形的显示组、显示文本、如果你使用故事板作为叠加层,还有故事板场景。有很多方法可以做到这一点。

    但您可能遇到的真正问题是如何让它只显示一次。我这样做的方法是我有一个设置文件,我在其中保存诸如musicOn、soundOn 等内容。当我启动时,我阅读了这个文件。如果它不存在,我会使用我的初始设置创建它。但这也告诉我,如果我没有这个文件,这是我第一次运行该应用程序,我可以以我选择的方式显示我的初始帮助屏幕。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多