【问题标题】:Corona composer.gotoScene() does not reset my sceneCorona composer.gotoScene() 没有重置我的场景
【发布时间】:2016-09-20 08:07:41
【问题描述】:

我对 Corona 还是很陌生。我有一个触发以下代码的按钮:

local options =
    {
      effect = "fade",
      time = 400,
      params = {
        loadFromFile = true,
        fileName = "level1",
        level = levelParams
      }
    }
    composer.gotoScene( "view1", options)

当我完成关卡并再次单击此按钮时,“view1”场景处于相同状态。如何快速重置?就像创建一个全新的场景对象一样?

我尝试使用composer.removeScene() 并清除,但没有任何反应。即使是非图形元素也保持不变,比如分数和其他东西。

有什么想法吗?

谢谢。

问候, 塞尔维亚

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    你在

    中创建对象
    function scene:create( event )
    

    那么如果你希望它们在你每次离开和回来时都改变,你应该在下面操作你的对象:

    function scene:show( event )
    

    在欢迎界面>界面>Corona SDK中的composer下有一个示例。

    【讨论】:

    • 我遇到了滚动背景的问题,这个答案有帮助,但是如果我们每次都在我们的时间里不断删除对象(removeScene)并在它们的原始位置创建它们,为什么我们必须这样做重新加载?
    • 我喜欢花时间准确回答你。但是,直到我找到那个时间,我的猜测是 removeScene 不会删除或销毁任何对象,而是将它们隐藏/或移动到你看不到的地方。因此,您仍然在某处拥有这些对象。您可以通过检查 obj.x 或 obj.y 来检查自己。如果它返回 nil 则将其删除,否则您可以获得线索以找出正在发生的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    相关资源
    最近更新 更多