CocosBuilder中'Doc root var'和'Owner var'之间的区别是什么?

时间:2013-02-27 08:34:11

标签: cocos2d-x cocosbuilder

在CocosBuilder中,有一个代码连接部分。在第二行,它有三个选项:不分配 Doc root var 所有者var

有时候,当我选择所有者var 时出现错误,但在我将其更改为 Doc root var 之后工作正常。

我谷歌很多,但找不到满意的答案。

有人能解释清楚区别吗?

2 个答案:

答案 0 :(得分:4)

不分配只是意味着您没有使用代码连接

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

  

有时您需要能够从中获取成员变量并获取   回调到另一个对象而不是ccb文件的根节点。去做   这将需要将所有者传递给CCBReader。

Connecting with cocos2d-x中所述。

所有者var 允许您连接到根节点以外的变量,为您提供more flexibility。您可以将其粘贴到您选择的任何变量上。

您获得的错误很可能是由于提供了一个不可用的名称(该变量不存在)。请注意,将该属性设置为 Doc root var 所有者var 并将该字段留空将导致此错误。

答案 1 :(得分:2)

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

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

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

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

尝试使用CocosBuilder JS Example Games可能会有所帮助。如果您尚未阅读,how to connect with cocos2d-x上的文档也可能对您有用。