3

在 CocosBuilder 中,有一个Code Connections部分。在第二行,它有三个选项:Don't AssignDoc root varOwner var

有时,我在选择Owner var时遇到错误,但在我将其更改为Doc root var后它工作正常。

我google了很多,但找不到满意的答案。

有谁可以清楚地解释差异?

4

2 回答 2

4

不要分配仅仅意味着您没有使用代码连接

Doc root var表示您正在连接自定义 cocos2d 类。这会将文档(CCB 阶段/文件)中的对象粘合/连接到您的代码。此选项很方便,但您必须确保提供了根节点的控制器对象。

有时,您需要能够从 ccb 文件的根节点之外的另一个对象访问成员变量并获取回调。为此,您需要将所有者传递给 CCBReader。

与 cocos2d-x 连接中所述。

Owner var允许您连接到根节点以外的变量,从而为您提供更大的灵活性。您可以将其粘贴到您选择的任何变量上。

您收到的错误很可能是由于提供的名称不可用(变量不存在)引起的。请注意,将属性设置为Doc root varOwner var并将该字段留空将导致此错误。

于 2013-03-06T14:04:03.563 回答
2

链接成员变量时,Doc root var将在根节点的控制器对象中添加一个成员。您可以通过MainScene.myVar假设您的 JS Controller 是 MainScene 来访问它。这是由场景根层 JS Controller 属性定义的。

或者,您可以通过 JS 控制器连接对不直接绑定到场景的自定义对象执行相同的操作。为此,您将使用Owner var属性。

不分配是默认设置,不执行任何操作。

从本质上讲,这些功能允许您轻松地从代码中引用那些 CCB 对象。

尝试使用CocosBuilder JS 示例游戏可能会有所帮助。如果您还没有阅读有关如何连接 cocos2d-x的文档,可能对您也有用。

于 2013-03-05T14:24:11.043 回答