尝试将显示对象添加到composer中的场景组时预期的错误表

时间:2014-07-26 16:27:49

标签: lua corona

我有一个diplay对象,它是在场景生命周期函数之外创建的,我想将它添加到sceneGroup

 local trans
    local function tra( )
      trans = display.newImage('assets/gray.png',indicesToOuterCordinate(layout.finalx,layout.finaly,layout.finalside,false))
      physics.addBody( trans, "static")
      trans:addEventListener( "collision", lis )
    end

但是当我尝试添加这个时,我得到一个预期的错误表

sceneGroup:insert( trans )

在尝试将tra显示对象添加到trans之前,我的函数sceneGroup被调用

1 个答案:

答案 0 :(得分:3)

只需在一个回复中快速收集答案。

通过在function scene:create( event )内移动函数和声明来解决最初的问题/问题,以便进行适当的实例化。

function scene:create( event )

    local sceneGroup = self.view

    local trans

    local function tra()
      trans = display.newImage('assets/gray.png',indicesToOuterCordinate(layout.finalx,layout.finaly,layout.finalside,false))
      physics.addBody( trans, "static")
      trans:addEventListener( "collision", lis )
    end

    tra()
    sceneGroup:insert( trans )

    -- More code here

    end

解决此问题引发了一个关于在应用程序中分层图像的新问题。

这是通过将displayObjects与索引值一起添加到显示组来解决的,索引Z轴上图层的位置。

sceneGroup:insert(2, imageForBack) 
sceneGroup:insert(1, imageForFront)