预制体prefab
什么是预制体,字面意思,还未使用前预先制作好的节点资源,属性等同于普通节点,可以看做一个预先制作还没展示出来的普通的节点
怎么创建预制体
1.在层级管理器处先创建普通的节点,然后把这个节点拖拽到资源管理器的assets文件夹下,出于方便管理会统一建立一个Prefab文件夹下统一存放预制体
双击预制体节点可以看到它呈现蓝色,这时候就可以删除还留在场景场景里的节点,需要使用该节点时,通过预制体创建
这时候可以看到属性检查器里的属性,和普通节点一致
预制体的作用
1.批量创建相同类型的节点
本质上来说就是使用预制体创建一个模板,然后通过复制这个预制体模板批量创建
第一步:批量创建节点放入对象池
@property(cc.Prefab)
prefab:cc.Prefab = null;
// 在属性管理器上声明一个预制体类型,用于在属性管理器里挂载定义好的预制体
@property(cc.NodePool)
nodePools:cc.NodePool = null;
// 声明一个对象池用于存放通过预制体创建对象,一次性使用预制体创建足够用的相同类型节点,然后放入对象池,需要使用时拿出来,不需要时放回,避免长时间大量创建和销毁节点
for(let i:number = 0; i < 100; i++){
//创建100个节点
let node:cc.Node = cc.instantiate