cc.Class({
extends: cc.Component,
properties: {
firewall:{type:cc.Prefab,default:null}, //预制体
},
首先将预制体加入到节点中,并通过脚本创建5个预制体,预制体本身绑定的脚本中 有一个属性【开始播放】
为什么5个预制体 【开始播放】这个属性会互相影响呢,难道是因为预制体使用的是一个脚本吗?
请问怎么解决这个问题呢
我也是新手,刚刚学了预设体,意见仅做参考。
我理解的:预设体如果没有改动的话,创建n个,n个都是一样的,包括你说的“开始播放”,那应该5个都有这个属性。
解决办法,一个预设体有开始播放这个属性。再新建一个这个预设体节点,把开始播放属性删掉,保存。再创建四个。
你试试看呢?试之前保存好原来的版本,不然方法错了,还能回退到原来的版本。
通过测试 发现问题了,属性实际还是独立的,我的问题是再预制体初始化的时候传入资源加载名称,在预制体里面动态加载的资源,所以再动态资源加载成功的回调里面改的开始播放这个变量。
。解决办法也试探出来了,就是在预制体创建之前先动态加载资源,动态资源加载成功,将动态资源当参数传入到预制体初始化函数中,完美的解决我发现的问题了。希望能帮助碰到这类困扰的小伙伴们。
所有资源全局只有一份。要用 instantiate 实例化后才会变成实例。Prefab 就是资源,Node 就是实例。
1赞