妈妈的英文译语怎么说-牛津英汉词典下载


2023年4月4日发(作者:literally)

详解cocoscreater预制体prefab

⽬录

预制体prefab

怎么创建预制体

预制体的作⽤

1.批量明月入君怀 一度君华 创建相同类型的节点

2.提前制作⼀些特定时机才需要展⽰出来的节点

预制体prefab

什么是预制体,字⾯意思,还未使⽤前预先制作好的节点资源,属性等同于普通节点,可以看做⼀个预先制作还没展⽰出来的普通的节点

怎么创建预制体

1.在层级管理器处先创建普通的节点,然后把这个节点拖拽到资源管理器的assets⽂件夹下,出于⽅便管理会统⼀建⽴⼀个Prefab⽂件夹下统⼀存放

预制体

双击预制体节点可以看到它呈现蓝⾊,这时候就可以删除还留在场景场景⾥的节点,需要使⽤该节点时,通过预杂然而前陈者的前 制体创建

这时候可以看到属性检查器⾥的属性,和普通节点⼀致

预制体的作⽤

1.批量创建相同类型的节点

本质上来说就是使⽤预制体创建⼀个模板,然后通过复制这个预制体模板批量创建

第⼀步:批量创建节点放⼊对象池

@property()

prefab:=null;

//在属性管理器上声明⼀个预制体类型,⽤于在属性管理器⾥挂载定义好的预制体

@property(ol)

nodePools:ol=null;

//声明⼀个对象池⽤于存放通过预制体创建对象,⼀次性使⽤预制体创建⾜够⽤的相同类型节点,然后放⼊对象池,需要使⽤时拿出来,不需要时放回,避免长时间⼤量创建和销毁节点

for(leti:number=0;i<100;i++){

//创建100个节点

letnode:=tiate();

(node);

//将每个节点放⼊对象池

}

第⼆步:需要使⽤时直接拿出使⽤即可

letnode:=null;

//判断对象池内是否有有闲置对象

if(()>0){

//使⽤get⽅法获取闲置对象,这时候把存放批量创建节点的对象池nodePools当作参数传⼊get⾥,之后可以在预制体绑定的脚本内(假设是),进⾏放回对象池操作

node=(ols);

}else{

//如果没有闲置对象就通过预制体创建

node=tiate();

}

//挂载到⽗节点上,等同于⼿动拖拽挂载

ld(node);

第三步:使⽤完之后返还节点

//假设这是上⾯提到的预制体脚本脚本

nodePools:ol=null;

//上⾯通过洛阳牡丹 node=(ols);取出对象池内的节点之后,在预制体的脚本内先定义⼀个对象池接收上⾯通过get传⼊的对象池

/*这样当使⽤()获取节点后,

就会调⽤预制体脚本⾥的reuse⽅玉兰花树图片 法,完成点击事件的注册。

另外()可以传⼊任意数量类型的参数,这些参数会被原样传递给reus改善的拼音 e⽅法*/

//所有我们要在实现⼀个reuse系统回调⽅法

reuse(EnemyPools:ol){

//获取到get中传⼊的管理类实例

ools=EnemyPools;

}

//写⼀个回收对象的函数

hit(){

//判断对象池是否存在

if(ols){

//存在放回当前节点

()小石潭记古今异义 ;

}else{

//否则直接销毁节点

y();

}

}

2.提前制作⼀些特定时机才需要展⽰出来的节点

⽐如提⽰框之类的

//创建⼀个预制体⽤于属性检查器⾥挂载定义好的预制体

@property()

testPrefab:=null;

//需要展⽰这个节点的时候直接像上⾯⼀样复制通预制体创建

letnode=tiate(efab);

//挂载到⽗节点上

ld(node);

上⾯都是使⽤挂载,下⾯使⽤⼀种动态加载,这样可以不通过@property()这样的挂载⽅式,就能加载出

//因为下⾯的回调函数⽆法使⽤this,所以要定义⼀个变量传⼊this

letm_this=this;

/*使⽤s动态加载Prefab,先在在assets⽂件夹下创建⼀个resources⽂件夹,然后把预制体资源放到下⾯

第⼀个参数是resources下⾯预制体的绝对路径,这样预制体就会被获取到第⼆个function类型参数的prefab参数⾥*/

[cocos⽂档官⽹](/creator/manual/zh/scripting/?h=assets)

s(\"assets/OptionBox\",function(err,prefab){

if(!prefab){

(\"预制体为空\");价值的近义词

}

varnewNode=tiate(prefab);

if(!newNode){

(\"节点为空\");

}

//添加为当前节点的⼦节点

m_ld(newNode);

以上就是两种常规使⽤预制体的⽅案,例如批量创建敌⼈,⼦弹使⽤的是第⼀种,第⼆种在有反复使⽤的场景,或者特定情况触发的提⽰框也可以做

成预制体

以上就是详解cocoscreater预制体prefab的详细内容,更多关于cocoscreaterprefab的资料请关注其它相关⽂章!

更多推荐

prefab是什么意思fab在线翻译读音例句