Mobile 为什么我需要使用corona director类插入一个localGroup:insert(object)?

Mobile 为什么我需要使用corona director类插入一个localGroup:insert(object)?,mobile,lua,coronasdk,Mobile,Lua,Coronasdk,我似乎无法理解使用director类时必需的localGroup:insert命令 如果我使用以下内容创建对象: local btnBegin = display.newImage( "images/btn_begin.png", (display.viewableContentWidth/2)-200, display.contentHeight * .7 ) 即使我从未做过任何修改,图像在场景中也会显示得非常好 localGroup:insert( btnBegin ) 我原以为loca

我似乎无法理解使用director类时必需的localGroup:insert命令

如果我使用以下内容创建对象:

local btnBegin = display.newImage( "images/btn_begin.png", (display.viewableContentWidth/2)-200, display.contentHeight * .7 )
即使我从未做过任何修改,图像在场景中也会显示得非常好

localGroup:insert( btnBegin )
我原以为localGroup:insert是必要的,这样场景的所有组件都可以分组以获取显示,但这不是关键吗

function new()

在每个场景的开头?在我看来,在函数中创建所有对象已经使它们成为场景文件的局部对象。localGroup:insert完成了什么?

据我所知,您可以直接将一个HUD添加到屏幕上,并且localGroup包含您的级别。然后,如果更改级别,则只会移动localGroup中包含的级别,并将放置在屏幕上的HUD元素保持在屏幕上。

进行显示时。新建图像(…)这会将显示对象添加到主舞台。正如Tomdemyt所说,这对于HUD或出现在场景之间的其他图形可能很有用

舞台还包含您的场景,此处定义的场景具有localGroup。要将对象添加到场景中,应将其插入localGroup

例如,如果您有一个包含菜单按钮的菜单场景,这将非常有用。如果按下“开始游戏”按钮,当屏幕过渡到下一个场景时,所有菜单项都将随菜单场景一起适当删除,而不是挂在全局舞台上

这一切都归结为显示层次结构以及您希望如何组织它。将子对象插入其相应的父对象是有意义的:

  • 舞台有一个菜单场景
  • 菜单场景有一个按钮
  • 这比:

  • 舞台有一个菜单场景
  • 舞台有一个按钮

  • 所以本地组之外的元素不会随着场景的变化而变化?是的,这就是我的理解。