3、Cocos Creator 节点和组件

目录

1、 节点和组件

2、 节点层级和显示顺序

3、坐标系和节点变换属性

坐标系

锚点

旋转

缩放

尺寸

4、 常用技巧

5、参考

1、 节点和组件

Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作 组件 — 实体系统(或 Entity-Component System),简单的说,就是以组合而非继承的方式进行实体的构建。

在 Cocos Creator 中,节点(Node) 是承载组件的实体,我们通过将具有各种功能的 组件(Component) 挂载到节点上,来让节点具有各式各样的表现和功能。

2、 节点层级和显示顺序

1. 在 层级管理器 中会按照节点排列顺序依次渲染,也就是显示在列表上面的节点会被下面的节点遮盖住,父节点永远是出现在子节点上面的,因此子节点永远都会遮盖住父节点

2. 父节点移动时,父子节点会作为一个整体一起移动。

3. 性能问题

父节点可以用来组织逻辑关系甚至是当做承载子节点的容器,但节点数量过多时,场景加载速度会受影响,因此在制作场景时应该避免出现大量无意义的节点,应该尽可能合并相同功能的节点。

3、坐标系和节点变换属性

我们将会深入了解节点所在场景空间的坐标系,以及节点的 位置(Position)旋转(Rotation)缩放(Scale)尺寸(Size) 四大变换属性的工作原理。

坐标系

标准屏幕坐标系使用和 OpenGL 不同的坐标系,和 Cocos2d-x 坐标系有很大区别。在 iOS、Android 等平台用原生 SDK 开发应用时使用的是标准屏幕坐标系,原点为屏幕左上角,x 向右,y 向下。Cocos2d-x 坐标系和 OpenGL 坐标系一样,原点为屏幕左下角,x 向右,y 向上。

1. 世界坐标系

世界坐标系也叫做绝对坐标系,在 Cocos Creator 游戏开发中表示场景空间内的统一坐标体系,「世界」就用来表示我们的游戏场景。

2. 本地坐标系

本地坐标系也叫相对坐标系,是和节点相关联的坐标系。每个节点都有独立的坐标系,当节点移动或改变方向时,和该节点关联的坐标系将随之移动或改变方向。

锚点

锚点(Anchor) 是节点的另一个重要属性,它决定了节点以自身约束框中的哪一个点作为整个节点的位置

锚点由 anchorX 和 anchorY 两个值表示,它们是通过节点尺寸计算锚点位置的乘数因子,范围都是 0 ~ 1 之间。(0.5, 0.5) 表示锚点位于节点长度乘 0.5 和宽度乘 0.5 的地方,即节点的中心。

锚点属性设为 (0, 0) 时,锚点位于节点本地坐标系的初始原点位置,也就是节点约束框的左下角。

旋转

旋转属性只有一个值,表示节点当前的旋转角度。

  • 角度值为  时,节点 逆时针 旋转。
  • 角度值为  时,节点 顺时针 旋转。

缩放

在子节点上设置的缩放属性会和父节点叠加作用,子节点的子节点会将每一层级的缩放属性全部 相乘 来获得在世界坐标系下显示的缩放倍率。这一点和 位置旋转 属性其实是一致的,只不过 位置 和 旋转 属性是 相加 作用,而 缩放 属性是 相乘,作用表现得更加明显。

比如父节点缩放 0.5,子节点缩放 0.5,那么相当于 子节点变成了 0.25 的样子。

缩放 属性会影响当前节点的 尺寸,不影响 位置 和 旋转,但会影响子节点的 位置 和 尺寸。(保证锚点设置正确,才会变化)

尺寸

尺寸 属性不会直接影响子节点的尺寸(但可以通过 对齐挂件(Widget) 间接影响)

4、 常用技巧

1、Canvas 作为渲染根节点。除了有具体图像渲染任务的节点之外,我们还会有一部分节点只负责挂载脚本,执行逻辑,不包含任何渲染相关内容。通常我们将这些节点放置在场景根层级,和 Canvas 节点并列。

2、创建空节点就能够创建一个不包含任何组件的节点。空节点可以作为组织其他节点的容器,也可以用来挂载用户编写的逻辑和控制组件。

3、创建节点菜单 里下一个类别是 创建渲染节点,这里我们能找到像 Sprite(精灵)、Label(文字)、ParticleSystem(粒子)、Tilemap(瓦片图)等由节点和基础渲染组件组成的节点类型。

4、UI 节点 类别里可以创建包括 Button(按钮)、Widget(对齐挂件)、Layout(布局)、ScrollView(滚动视图)、EditBox(输入框)等节点在内的常用 UI 控件。

5、参考

1. Cocos Creator 2.4 手册 - 管理节点层级和显示顺序

2. Cocos Creator 2.4 API - Node

3. Cocos Creator 2.4 手册 - 节点和组件

4. Cocos Creator 2.4 手册 - 坐标系和变换

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

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

相关文章

「PHP系列」PHP 常量/字符串、类型比较

文章目录 一、PHP 常量1. 定义常量使用 define() 函数使用 const 关键字(在类内部) 2. 访问常量3. 常量的特点4.注意事项5. 示例 二、PHP 字符串1. 定义字符串使用单引号使用双引号使用 heredoc 和 nowdoc 2. 字符串操作字符串连接字符串长度字符串替换字…

旅游管理系统|基于springBoot旅游管理系统设计与实现(附项目源码+论文)

基于springBoot旅游管理系统设计与实现 一、摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本旅游管理系统就是在这样的大环境下诞生,其可以帮助…

脏牛提权(靶机复现)

目录 一、脏牛漏洞概述 二、漏洞复现 1.nmap信息收集 1.1.查看当前IP地址 1.2.扫描当前网段,找出目标机器 1.3.快速扫描目标机全端口 三、访问收集到的资产 192.168.40.134:80 192.168.40.134:1898 四、msf攻击 1.查找对应exp 2.选择对应exp并配置相关设置 五、内…

每天五分钟卷积神经网络:如何基于滑动窗口技术完成目标的检测?

汽车检测算法 现在我们想要构建一个汽车检测算法,我们希望输入到算法中一张图片,算法就可以帮助我们检测出这张图片中是否有汽车。 数据集 首先创建一个标签训练集,x是样本,y是标签。我们的训练集最好是被剪切过的图片,剪掉汽车以外的部分,使汽车居于中间位置,就是整张…

如何使用jQuery来隐藏和显示一个元素?描述一下jQuery中的事件绑定方法。

如何使用jQuery来隐藏和显示一个元素? 在jQuery中,隐藏和显示元素是常见的操作,可以通过.hide()和.show()方法来实现。这两个方法分别用于隐藏和显示选定的HTML元素。 隐藏元素 要隐藏一个元素,你可以使用.hide()方法。例如&…

Java 学习和实践笔记(50):使用Comparable 接口确定对象根据什么属性来排序

多个对象进行排序时,需要根据对象的什么属性来排序。 例如,同样都是人,可以根据人的身高排序,可以根据人的年龄排序。因此,当对多个人进行排序时,就要事先确定好根据人的什么属性来排序。 使Comparable 接…

使用verilog实现俄罗斯方块游戏

编写俄罗斯方块游戏需要进行大量的硬件设计,包括图形显示、用户输入处理、游戏逻辑等。以下是一个简单的基于Verilog的俄罗斯方块游戏示例,用于说明该过程: ```verilog module tetris_game ( input clk, // 时钟信号 input reset, // 复位信号 input lef…

kubernetes(K8S)学习(八):K8S之常见部署方案

K8S之常见部署方案 一、普通部署二、滚动更新(Rolling update)三、蓝绿部署(Blue/Green Deployment)四、灰度发布(金丝雀发布) 常见的部署方案参考博文:常见部署方案:普通部署、滚动…

【物联网项目】基于ESP8266的家庭灯光与火情智能监测系统——文末完整工程资料源码

目录 系统介绍 硬件配置 硬件连接图 系统分析与总体设计 系统硬件设计 ESP8266 WIFI开发板 人体红外传感器模块 光敏电阻传感器模块 火焰传感器模块 可燃气体传感器模块 温湿度传感器模块 OLED显示屏模块 系统软件设计 温湿度检测模块 报警模块 OLED显示模块 …

Java基础之自增自减运算符

Java基础之自增自减运算符 基本用法 int a 10;a; System .out.prinln(a);//a11int a 10;a; System .out.prinln(a);//a11tip: 第一次运算之后a的值会更新 然后再进行下面的运算!!! 练习: 代码呈现: 结果: tip: x的值是最新的x的值.

微信小程序开发【从入门到精通】——页面导航

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

el-select的错误提示不生效、el-select验证失灵、el-select的blur规则失灵

发现问题 在使用el-select进行表单验证的时候&#xff0c;发现点击下拉列表没选的情况下&#xff0c;他不会提示没有选择选项的信息&#xff0c;我设置了rule如下 <!--el-select--><el-form-item label"等级" prop"level"><el-select v-m…

Y Combinator W24 AI 创业地图

近日公布&#xff0c;Y Combinator的W24 AI创业地图上&#xff0c;有149家公司专注于AI领域&#xff0c;占到了总数的63%哦&#xff01; 而且&#xff0c;这些公司中&#xff0c;有70%是在应用层发力&#xff0c;28%则专注于工具层&#xff0c;只有2%是搞基础设施的。 分类百分…

esp单片机下arduino_gfx不相干显示驱动优化对flash空间的占用对比

一般情况下&#xff0c;很多esp32或者esp8266下的tft模块驱动都会包含很多种&#xff0c;而我们只需要其中一种&#xff0c;那就有个疑问这些被编译进的显示驱动到底占用了多少空间&#xff0c;是否需要把他优化掉&#xff1f; 这是默认的驱动列表&#xff1a; 84个文件&…

对谈Concured首席技术官:利用AI和MongoDB打造个性化内容推荐系统

Built with MongoDB 栏目采访了AI初创企业Concured在成立约一年后加入的首席技术官 Tom Wilson&#xff0c;围绕 Concured 的人工智能使用情况、Wilson 加入团队的过程、坚持选择MongoDB的原因以及公司未来发展展开讨论。 关于Concured 内容无处不在。无论消费者寻找什么或所处…

解决WSL更新速度慢的方案

在Windows上安装Docker Desktop时&#xff0c;如果选择使用WSL&#xff0c;则可能会出现在运行程序前要求升级WSL的步骤。程序会提示使用下面指令来升级 wsl.exe --update但是升级速度特别慢&#xff0c;于是在网络不稳定的情况下经常会出现下载失败的情况。 百度里一直没搜到…

选择华为HCIE培训机构有哪些注意事项

选择软件培训机构注意四点事项1、口碑&#xff1a;学员和社会人士对该机构的评价怎样&#xff1f; 口碑对于一个机构是十分重要的&#xff0c;这也是考量一个机构好不好的重要标准&#xff0c;包括社会评价和学员的评价和感言。誉天作为华为首批授权培训中心&#xff0c;一直致…

boost::asio::ip::tcp/udp::socket::release 函数为什么限制 Windows 8.1 才可以调用?

如本文题目所示&#xff0c;这是因为只有在 Windows 8.1&#xff08;Windows Server 2012 RC&#xff09;及以上 Windows 操作版本才提供了运行时&#xff0c;修改/删除完成端口关联的ABI接口。 boost::asio 在 release 函数底层实现之中是调用了 FileReplaceCompletionInform…

java实现udp客户端

import java.net.*; public class UdpClient { public static void main(String[] args) throws Exception { // 定义服务器地址和端口号 String serverAddress "127.0.0.1"; int serverPort 8888; // 创建数据包对…

【每日力扣】343. 整数拆分与63. 不同路径 II

&#x1f525; 个人主页: 黑洞晓威 &#x1f600;你不必等到非常厉害&#xff0c;才敢开始&#xff0c;你需要开始&#xff0c;才会变的非常厉害 343. 整数拆分 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使…