Cocos2d x ';文档根变量';和';所有者变量';在CocosBuilder中

Cocos2d x ';文档根变量';和';所有者变量';在CocosBuilder中,cocos2d-x,cocosbuilder,Cocos2d X,Cocosbuilder,在CocosBuilder中,有一个代码连接部分。在第二行,它有三个选项:不分配、文档根变量和所有者变量 有时,我在选择所有者var时出错,但在我将其更改为Doc root var后,它工作正常 我搜索了很多,但找不到满意的答案 是否有人可以清楚地解释差异?当文档根变量将在根节点的控制器对象中添加成员时。您可以通过mainsecene.myVar访问它,假设您的JS控制器是mainsecene。这是由场景根层JS控制器属性定义的 或者,您可以对未通过JS控制器连接直接绑定到场景的自定义对象执行相

在CocosBuilder中,有一个代码连接部分。在第二行,它有三个选项:不分配文档根变量所有者变量

有时,我在选择所有者var时出错,但在我将其更改为Doc root var后,它工作正常

我搜索了很多,但找不到满意的答案

是否有人可以清楚地解释差异?

文档根变量将在根节点的控制器对象中添加成员时。您可以通过
mainsecene.myVar
访问它,假设您的JS控制器是mainsecene。这是由场景根层JS控制器属性定义的

或者,您可以对未通过JS控制器连接直接绑定到场景的自定义对象执行相同的操作。要实现这一点,可以使用所有者var属性

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

本质上,这些特性允许您从代码中轻松引用这些CCB对象


用这种方法进行试验可能会有所帮助。如果您尚未阅读,上的文档也可能对您有用。

不要分配仅表示您没有使用代码连接

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

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

如中所述

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


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

感谢您的帖子,但我不想连接Cocos2d JS,在如何连接CoCoCos2D-x中,它没有描述区别。是的,不幸的是,我在写下答案后才注意到cocos2d-x标志。因为这是现在唯一的答案,我想它可能仍然会激励你。我将避免评论cocos2d-x,因为我还没有将它与CocosBuilder结合使用。但是,这些概念与JS绑定相同。我可以确保在更改属性后,保持值不变。但还是要谢谢你。