CocosCreator3.8研究笔记(十一)CocosCreator Prefab(预制件)理解

news2024/10/11 14:21:23

相信很多朋友都不知道 Prefab 是什么?为什么要使用Prefab ? 怎么使用Prefab?


接下来,我们就一步一步来揭晓答案。


一、Prefab 是什么 ?


Prefab:大家习惯性地称为“预制件” 或“预制体” ,简单说,就是把场景对象、节点、组件、以及组件上的数据,打包存储起来,方便复用。


资源管理器 中的预制件资源,是预制件的序列化文件。

预制件资源被拖拽到 层级管理器 中就会生成一个预制件实例。


在这里插入图片描述


双击预制件资源,会进入预制件的编辑模式,可点击 场景编辑器 左上方的按钮来 保存 修改或者 关闭 编辑模式。


预制件节点在 属性检查器 中呈现 绿色 时表示与资源关联正常;呈现 红色 则表示关联的资源丢失。


在这里插入图片描述


二、为什么要使用预制体

当我们想制作一个能复用、通用性强、个体之间存异较小的资源,我们应该首选Prefab预制体。


例如:

以下背包中的物品:每个物品都有一张背景边框 ,一张icon 图片,一个label 数量,还有一把锁的图标。


在这里插入图片描述


每个背包物品,结构都相同,仅仅是每个元素的内容不同,因此我们就可以设计一个Prefab :

KnapItem(Node)

		itemBG   (Sprite)

    itemIcon (Sprite)

    itemCount(Label)

    itemLockFlag (Sprite)

三、预制件的使用


1、创建预制件


创建预制件有两种方法:

  • 在场景中将节点编辑好之后,直接将节点从 层级管理器 拖到 资源管理器 中即可完成预制件资源的创建。


  • 点击 资源管理器 左上方的 + 按钮,或者点击面板空白处,然后选择 Node Prefab 即可。


预制体创建完成后,有一个属性:Persistent,标记该预制体是否需要同步,默认值为false 。

在这里插入图片描述


2、预制件的使用


(1)、创建预制体和生成预制体实例


将预制件资源从 资源管理器 拖拽到 层级管理器场景编辑器,即可在场景中生成一个预制件的实例。


场景中的预制件实例对象,数据源来自预制件资源的反序列化,所以它的数据默认同步了预制件资源。


如果对预制件实例中的各项属性进行修改,修改的数据会被存储在预制件实例中,不会影响到预制件资源和它生成的其它预制件实例的数据


(2) 、场景中编辑预制件节点


(1)、常规操作

层级管理器 中选中预制件节点,属性检查器 的顶部便会出现几个可操作的按钮:


在这里插入图片描述


  • **编辑资源图标:**点击后,可以在场景编辑器中编辑资源,还可通过资源管理器中双击预制体资源来实现。

  • **取消关联当前预制体资源图标:**还原为普通节点。预制件节点可变为普通节点,即完全脱离和资源的关系。


    还可通过点击 Creator 顶部菜单栏中的 节点 -> 取消关联当前的 Prefab 资源 来实现。

  • 定位资源图标:便于快速在 资源管理器 中定位到预制件资源,点击后资源管理中的资源会出闪烁。

  • 从资源还原图标:将当前预制件实例的数据还原为预制件资源中的数据,其中名字、位置和旋转不会被还原为预制件资源中的数据。

  • 更新到资源图标:将当前预制件实例的所有数据更新到所关联的预制件资源中。


(2)、新增节点


在预制件实例下增加的新节点,在节点名字的右下角会有一个 + 标志,它的数据存储在预制件的实例下,不会影响关联的预制件资源的数据。


在这里插入图片描述


(3)、新增组件


在预制件实例下增加新组件,在组件名字的后面会有一个 + 标志,它的数据存储在预制件的实例下,所以不会影响关联的预制件资源的数据。


在这里插入图片描述


(4)、删除组件


在预制件实例下删除 非预制件实例下新增的组件,会在 属性检查器 上增加一条删除的组件的数据,它的数据存储在预制件的实例下,所以不会影响关联的预制件资源的数据。


四、预制件的使用限制

  • 不允许在预制件实例中删除从预制件资源中创建的节点
  • 不允许在预制件实例中更改从预制件资源中创建的节点的层级关系
  • 不允许预制件嵌套自己

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/993279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java事件机制简介 内含面试题

面试题分享 云数据解决事务回滚问题 点我直达 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮…

昇腾Ascend TIK自定义算子开发教程(概念版)

一、参考资料 【2023 CANN训练营第一季】Ascend C算子开发入门(中) 二、重要说明 TIK2编程范式把算子核内的处理程序,分成多个流水任务,任务之间通过队列(Queue)进行通信和同步,并通过统一的…

MySQL——备份和还原

备份 热备 即MySQL服务在运行的时候进行的备份 mysqldump命令 mysqldump --databases db1 db2 db3 > dump.sql mysqldump -uroot -pSanchuang1234# --all-databases >all_db.sql mysqldump -uroot -pSanchuang123# --databases TENNIS >/backup/tennis.sql mysq…

分享一个python基于数据可视化的智慧社区服务平台源码

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、Node.js、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! &#x1…

【rust/egui】(九)使用painter绘制一些图形—基本使用

说在前面 rust新手,egui没啥找到啥教程,这里自己记录下学习过程环境:windows11 22H2rust版本:rustc 1.71.1egui版本:0.22.0eframe版本:0.22.0上一篇:这里 painter 定义pub struct Painter {///…

领域驱动设计:DDD分层架构

文章目录 DDD 分层架构DDD 分层架构最重要的原则DDD 分层架构推动架构演进三层架构如何演进到 DDD 分层架构 微服务架构模型有好多种,例如整洁架构、CQRS 和六边形架构等等。每种架构模式虽然提出的时代和背景不同,但其核心理念都是为了设计出“高内聚低…

gpt测试

已知a地一石头售价80,b地售价112,小明初始资金8000,在a地全仓购入后,去b地出售,然后小明又回到a地,再次全仓购入然后去b地出售,这样继续出售10次后,小明有多少钱?石头是不…

Java中wait和notify详解

线程的调度是无序的,随机的,但是也是有一定的需求场景,希望能够有序执行,join算是一种控制顺序的方式(功能有限)——》一个线程执行完,才能执行另一个线程! 本文主要讲解的&#xf…

C++---类和对象

这里写目录标题 封装简介语法二级目录二级目录二级目录二级目录二级目录二级目录二级目录二级目录二级目录二级目录二级目录二级目录二级目录 封装 简介语法 类 :抽象的 共性的 对象:实例化的 具体的 个性的 封装 就是把属性和行为放在一起 加一些访问权…

CCRC-PIPA个人信息保护评估师

个人信息保护评估师 (Personal InformationProtec-tion Assessor,简称 “PIPA”) 是由中国网络安全审查技术与认证中心(简称CCRC) 推出的面向个人信息保护领域的培训认证。CCRC-PIPA课程以《个人信息保护法》、法规、部门规章、相关国家标准和行业最佳实践为基础&am…

代理IP在海外SEO优化中有哪些关键作用?

代理IP在海外SEO优化业务中的应用越来越受到企业的重视。它为企业提供了大量不同地区的IP地址,帮助企业模拟不同地区、不同设备的用户行为,有助于更准确地了解当地的搜索引擎规则和优化策略,更好地评估网站的排名和流量。 一、代理IP的优势 …

【Stable Diffusion XL】huggingface diffusers 官方教程解读

文章目录 01 TutorialDeconstruct a basic pipelineDeconstruct the Stable Diffusion pipelineAutopipelineTrain a diffusion model 相关链接: GitHub: https://github.com/huggingface/diffusers 官方教程:https://huggingface.co/docs/di…

第2章_瑞萨MCU零基础入门系列教程之面向过程与面向对象

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

thinkphp6 入门(6)--中间件是什么 怎么用

一、什么是中间件? 当客户端发送请求至服务器时,HTTP请求会经过多个中间件,最后返回响应给客户端。中间件可以 在请求到达目标控制器或动作之前对请求进行操作 可以在响应离开目标控制器或动作之前对响应进行操作 二、中间件的作用 我们可…

【Python】conda虚拟环境下使用pyinstaller打包程序为exe

文章目录 一、为什么要用conda虚拟环境二、pyinstaller用法2.1 安装 PyInstaller2.2 基本用法打包一个 Python 脚本2.21 打包一个 Python 项目2.22 打包选项 2.3 打包依赖项2.31 导出依赖项列表2.32 配置依赖项 2.4 自定义打包选项2.5 打包完成后的文件2.6 注意事项 三、打包示…

RabbitMQ 知识点解读

1、AMQP 协议 1.1、AMQP 生产者的流转过程 当客户端与Broker 建立连接的时候,会调用factory .newConnection 方法,这个方法会进一步封装成Protocol Header 0-9-1 的报文头发送给Broker ,以此通知Broker 本次交互采用的是AMQPO-9-1 协议&…

文件上传漏洞案例

目录 1.案例一 1)案例源码 2)创建web.php文件 3)使用抓包软件 2.案例二 1)案例代码 2) 案例分析 3)copy命令生成图片马 4)上传图片马到服务器 5)解析 文件图片 3.案例三 …

Error running ‘xxx‘: Command line is too long. Shorten command line for xxxx

完整报错信息:Error running ArticleFreemarkerTest.test: Command line is too long. Shorten command line for ArticleFreemarkerTest.test or also for JUnit default configuration. 翻译为运行“ArticleFreemarkerTest.test”时出错,命令行太长。…

计网第四章(网络层)(八)

在第七节(计网第四章(网络层)(七)_永无魇足的博客-CSDN博客)我们总结了路由信息协议RIP。在最后我们提到了RIP协议有坏消息传的慢的问题,这是距离向量算法的本质决定的,所以这种问题…

成都青溪电商:抖店精选联盟怎么绑定?

随着抖音平台的快速发展,越来越多的商家希望利用抖音的流量红利来实现品牌曝光和销量增长。抖音精选联盟作为抖音平台的重要合作计划,为商家提供了更多的机会和资源支持。下面将详细介绍如何绑定抖店精选联盟并讨论解绑情况。 1.绑定抖店选定联盟 满足入…