我有一个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
被调用
答案 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)