将生成的对象插入到一个组中并从场景中移除。

以下是基于下面的代码块的两个主要问题:

(1)在两个生成函数中,尽管我已经给场景组命名,并将生成的对象插入新组,但sceneGroup:insert()方法返回nil。为什么会返回一个空值?

(2)当玩家死亡并进入下一个场景时,如何销毁当前场景?我已经尝试获取当前场景并通过删除来实现,但它没有起作用。

代码块
点赞
用户1870706
用户1870706

暂时忘记 sceneGroup。Scene 是一个对象,其中包含 display.newGroup() 作为对象的一部分。它是一个称为 "view" 的成员。也就是说,"scene.view" 是这个组。

因为你可以像在一个组中拥有多个场景一样使用 Composer 的一些高级功能(虽然我不推荐这样做),场景的事件函数,如 scene:create() 等,以面向对象的方式处理。通过在 scene 和 create 之间使用冒号运算符(:),你将传递一个名为 "self" 的隐含参数,它是触发事件的场景对象。在大多数情况下,self 和 scene 是相同的东西。

为方便开发者,我们在事件函数内部创建了一个本地引用 scene.view(self.view),以便于使用。如果您需要在这些事件函数之外访问场景的视图组,只需执行:

scene.view:insert (displayObjectOfYourChoice)

或者你可以本地化自己的 sceneGroup 变量:

local sceneGroup = scene.view

并继续像你习惯的那样使用 sceneGroup。

Rob

2015-07-19 23:29:23