我似乎无法绕过使用director类所必需的localGroup:insert命令。
如果我用以下内容创建我的对象:
local btnBegin = display.newImage( "images/btn_begin.png", (display.viewableContentWidth/2)-200, display.contentHeight * .7 )
即使我从未做过
,图像也会在场景中完美显示localGroup:insert( btnBegin )
我原本认为localGroup:insert是必要的,这样才能将场景的所有组件分组到gether中进行显示,但不是
的要点function new()
在每个场景的开始?在我看来,我发现在函数中创建我的所有对象已经使它们成为场景文件的本地对象。 localGroup:insert完成了什么?
答案 0 :(得分:1)
据我了解,您可以直接添加到屏幕上的HUD和包含您的关卡的localGroup。然后,如果你改变级别,你只会移动localGroup中包含的级别,并保持你直接放在屏幕上的HUD元素。
答案 1 :(得分:1)
当您执行 display.newImage(...)时,会将显示对象添加到主舞台。正如tomdemuyt所说,这可能对HUD或场景之间出现的其他图形有用。
舞台还包含您的场景,此处定义的场景为 localGroup 。要将对象添加到场景中,应将其插入localGroup。
如果你有一个包含菜单按钮的菜单场景,这很有用。如果您按下“开始游戏”按钮,当屏幕转换到下一个场景时,所有菜单项都将通过菜单场景被适当删除,而不是在全球舞台上闲逛。
这一切都归结为显示层次结构以及您希望如何组织它。将子对象插入适当的父对象是有意义的:
比以下更有意义: