cocos creator 普通节点与关联节点到预制
cocos creator的每个节点都有一个cc.PrefabInfo 信息

__id__ 含义是哪个节点。 8是数组索引

asset 表示节点来源, 所谓普通节点,就是这个信息是当前预制体的, 也就是root id 固定是1
关联节点到预制体,就是表示这个节点信息来源外部, 节点颜色变为蓝色。 如果没有选择一个预制体, 会提示让你选择一个预制体文件
某个节点的_prefab字段不空, 那么这个节点颜色就是蓝色, 否则就是白色
某个节点为绿色,说明这个节点和其他预制体进行了绑定, 它的修改会影响这个预制体, 当然cocos提示你是回退和应用。

回退按钮: 你的修改将丢弃,用与它绑定的预制体进行还原。(除了你选择的节点信息)

保存按钮: 你的修改将同时修改绑定的预制体。(包括你选择的节点信息), 说到这里,这个算是cocos设计不好地方!很蛋疼。因为每个模版节点在不同页面中有不同的状态, 你一保存这些全部同步了!
如果你是在绑定的预制体中修改的:

如果是自动同步模式(绿色 sync: true):回退按钮无用, 保存按钮相当于保存当前预制体,这个保存会应用所有与它相关的节点。 ( 除了根节点信息不会同步)
手动同模式(蓝色):
回退按钮, 无用
保存按钮:其实没啥软用,也就是ctrl + S.
===============================================
总结以下结论:
1, 预制体中的每个节点一定有一个cc.PrefabInfo
2. 场景中节点不一定有cc.prefabInfo, 所以通常是白色。 除非挂载预制体
3. 每个节点都有_prefab属性, 如果为null,那么在编辑器显示白色, 不为空,显示蓝色或者绿色。 是否绿色取决于sync字段是否为true
4. 为了防止异常,最好整个项目不要设置使用自动同步, 除了这个预制绝对通用。如果设置了,务必只修改被绑定预制体资源(即最初的源头)。否则物极必反。
5. 游戏运行时,_prefab信息还是会存在,但是asset信息已经不存在了,均为null。 所以游戏还原为工程,将丢失所有关联预制,全部变为普通节点。
6. 回退不包括“根”信息, 保存按钮包括节点“根”信息。 这里根均指源头预制体的根节点。ctrl + s仅仅当前预制, 但是保存按钮会影响其他预制体

浙公网安备 33010602011771号