CocosCreator3.8研究笔记(十七)CocosCreator UI组件(一)


CocosCreator 中,用户界面 User-interface(UI)组件和2d渲染对象的区别在于2D 渲染对象一般只负责将2D 对象渲染出来,而 UI 则更多的承担着用户交互的能力。


常用的 UI 控件可通过添加节点的方式来创建。

层级管理器 中点击左上角的 + 创建节点按钮,然后选择 UI 来创建所需的 UI 节点,相应的 UI 组件便会自动挂载到节点上:


在这里插入图片描述


其它的 UI 组件,可以手动在 层级管理器 中选中节点,然后在 属性检查器 中点击 添加组件 -> UI 的方式来添加:


在这里插入图片描述


接下来,就一一介绍常用的UI组件使用和注意事项,由于UI组件内容较多,篇幅原因,后续将持续进行介绍。


这篇文章主要介绍Canvas 组件、UITransform 组件、Widget 组件 。


想了解常用的 2D 渲染对象,请查看 CocosCreator3.8研究笔记(十六)CocosCreator 2D对象


一、Canvas 组件


(1)、Canvas 组件的作用


Canvas(画布) 组件继承自 RenderRoot2D 组件,因此Canvas 组件是数据收集入口。


场景中 Canvas 节点可以有多个,所有 2D 渲染元素都必须作为 RenderRoot2D 的子节点才能被渲染


Canvas 节点除了继承自 RenderRoot2D 的数据入口能力,其本身还作为屏幕适配的重要组件,在游戏制作上面对多分辨率适配也起到关键作用。


Canvas 的设计分辨率和适配方案统一通过 项目设置 配置。


在这里插入图片描述


(2)、Canvas 组件的属性

属性功能说明
CameraComponentCanvas 关联的相机,此相机不一定会渲染 Canvas 下内容,可以与 AlignCanvasWithScreen 属性配合自动改变 Camera 的一些参数使其与 Canvas 对齐
AlignCanvasWithScreenCanvas 关联的相机是否要与 Canvas 对齐,如果想要自己控制相机位置请勿勾选此选项

(3)、注意事项

如果遇到了 UI 渲染出错,花屏,闪屏等现象,首先要检查的就是场景里所有相机(Camera 和 Canvas)的 ClearFlag,确保 场景里必须有一个相机要执行 Solid_Color 清屏操作


具体如何设置 ClearFlag,可参考以下几种情况:

  • 如果场景中只有一个 UI Canvas 或者 3D Camera,那么 ClearFlag 属性设置为 Solid_Color

  • 如果场景中包含 2D 背景层、3D 场景层、 2D UI 层,则:

    用于 3D 场景渲染的摄像机,请确保第一个渲染的摄像机是 SOLID_COLOR(如果有配置天空盒,则设置为 SKYBOX ),其余摄像机根据项目需求决定。

    用于 UI 渲染(Canvas下面)的摄像机,要用 DEPTH ONLY

    如果某个摄像机的设置了targetTexture,请设置为 SOLID_COLOR


如图:第一个渲染的摄像机 ClearFlag 属性设置为 Solid_Color

在这里插入图片描述


如图: UI 渲染(Canvas下面)的摄像机, ClearFlag 属性设置为 DEPTH ONLY

在这里插入图片描述


二、UITransform组件


(1)、UITransform组件的作用

定义 UI 上的矩形信息,包括矩形的尺寸和锚点位置。

可以通过该组件任意地操作矩形的大小、位置,一般用于渲染、点击事件的计算、界面布局以及屏幕适配等。


(2)、UITransform组件属性

属性功能说明
ContentSizeUI 矩形内容尺寸
AnchorPointUI 矩形锚点位置

(3)、添加 UITransform 组件

点击 属性检查器 下面的 添加组件 按钮,然后选择 UI/UITransform 即可添加 UITransform 组件到节点上。


在这里插入图片描述


(4)、动态修改尺寸和锚点

const uiTransform = this.getComponent(UITransform);
// 方法一
uiTransform.setContentSize(100, 220);
uiTransform.setAnchorPoint(0.5, 0);

// 方法二
uiTransform.width = 100;
uiTransform.height = 220;
uiTransform.anchorX = 0.5;
uiTransform.anchorY = 0;

三、Widget 组件


(1)、Widget 的作用

Widget (对齐挂件) 是一个很常用的 UI 布局组件。

能使当前节点自动对齐到父物体的任意位置,或者约束尺寸,可以方便地适配不同的分辨率。


点击 属性检查器 下面的 添加组件 按钮,然后选择 UI/Widget 即可添加 Widget 组件到节点上。


(2)、Widget 选项

选项说明备注
Top对齐上边界选中后,将在旁边显示一个输入框,用于设定当前节点的上边界和父物体的上边界之间的距离。
Bottom对齐下边界选中后,将在旁边显示一个输入框,用于设定当前节点的下边界和父物体的下边界之间的距离。
Left对齐左边界选中后,将在旁边显示一个输入框,用于设定当前节点的左边界和父物体的左边界之间的距离。
Right对齐右边界选中后,将在旁边显示一个输入框,用于设定当前节点的右边界和父物体的右边界之间的距离。
HorizontalCenter水平方向居中
VerticalCenter竖直方向居中
Target对齐目标指定对齐参照的节点,当这里未指定目标时会使用直接父级节点作为对齐目标
AlignMode指定 Widget 的对齐方式,用于决定运行时 Widget 应何时更新通常设置为 ALWAYS,每次节点产生变动时重新对齐。 设置为 ONCE 时,仅在组件初始化时进行一次对齐。ON_WINDOW_RESIZE 时会在每次窗口变动时候更新一次

(3)、Widget 的使用

这里以Spite 节点,添加 Widget 组件为例,进行演示。

下图: 左对齐,上对齐,左、上边距100px。

在这里插入图片描述


下图: 右对齐,下对齐,右、下边距100px。

在这里插入图片描述


下图,垂直居中、水平居中。

在这里插入图片描述


下图:宽度拉伸,高度拉伸,上下边距50px

在这里插入图片描述


(4)、对节点位置、尺寸的限制

如果 Align Mode 属性设为 ALWAYS 时,会在运行时每帧都按照设置的对齐策略进行对齐,组件所在节点的位置(position)和尺寸(width,height)属性可能会被限制,不能通过 API 或动画系统自由修改。


如果需要同时满足对齐策略和可以在运行时改变位置和尺寸的需要,可以通过以下两种方式实现:


  • 确保 Widget 组件的 Align Mode 属性设置为 ONCE,该属性只会负责在组件初始化(onEnable)时进行一次对齐,而不会每帧再进行一次对齐。可以在初始化时自动完成对齐,然后就可以通过 API 或动画系统对 UI 进行移动变换了。


  • 通过调用 Widget 组件的对齐边距 API,包括 topbottomleftright,直接修改 Widget 所在节点的位置或某一轴向的拉伸。这些属性也可以在动画编辑器中添加相应关键帧,保证对齐的同时实现各种丰富的 UI 动画。


(5)、代码修改对齐距离

 const widget = this.getComponent(Widget);
 // 设置默认对齐单位是 px
 widget!.bottom = 50;
 widget!.top = 50;

// 设置对齐单位是 %
widget!.isAbsoluteTop = false;
widget!.isAbsoluteBottom = false;
widget!.bottom = 0.1; // 10%
widget!.top = 0.1; // 10%

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 115转存助手是一款非常实用的文件存储和管理工具,能够帮助用户将互联网上的各种文件快速保存到自己的云端存储空间中,实现便捷地数据备份和共享。最新发布的转存助手UI优化版本V3.8进一步提高了用户体验,增加了更多的实用功能。 首先,该版本的转存助手外观更加美观,采用更为现代化的扁平化设计,对整个界面进行了全面更新,让操作更加简洁流畅,让用户提升了使用的愉悦感。 其次,该版本增加了更多实用功能。例如,在上传文件时,支持了批量选择上传、断点续传等功能,大大提高了上传效率。同时还新增了从云端下载文件夹、在线浏览图片等便捷功能。而且还支持了超流量续费等针对用户的个性化服务。 此外,V3.8版本的转存助手还增加了更加人性化的体验。例如,可以选择听取不同的上传完成提示音效、可根据自己的意愿设置云端文件夹、可以直接用微信号来注册等快捷功能。 最后,115转存助手UI优化版v3.8的发布,将带给广大用户更加完美的云端存储体验。 ### 回答2: 115转存助手是一款非常实用的文件转存软件,能够方便快捷地将互联网上的各种文件下载到本地进行管理和使用。近日,115转存助手推出了UI优化版v3.8,主要改进了软件的用户界面,让用户使用更加方便快捷。 首先,该版本的转存面板进行了全面升级,一切操作变得更加清晰易懂。用户可以快速了解到所有的操作按钮的功能,包括上传、下载、暂停、继续等等,并且一目了然。同时,转存面板新增了批量操作功能,用户可以选择多个文件一次性上传或下载,省去了不必要的操作步骤,效率大大提高。 其次,该版本还优化了上传和下载的速度,让用户在使用115转存助手时更加流畅。此外,该版本还增加了自动提取分享链接的功能,用户只需复制分享链接,软件即可自动识别并提取链接,并进行文件管理和转存,省去了复制粘贴的烦恼。 总之,115转存助手UI优化版v3.8是一款非常棒的文件转存软件,既美观又实用,为用户带来了更佳的使用体验。若您需要下载互联网上的文件,不妨试试这款软件,相信您一定会喜欢上它的。 ### 回答3: 115转存助手ui优化版v3.8是一款文件备份软件的更新版本,通过对用户界面的改进,使得用户在使用时更加方便和流畅。 首先,在新版中,界面设计更加简洁明了,节点隐去繁华,整个操作流畅自然,让用户更加能集中注意力,从而更好地管理文件备份。 其次,软件进行了功能优化和性能提升。增加了多种导入方案及不同数据源的兼容性,同时提高了软件的加速下载速度和稳定性,从而让用户可以在更短时间内轻松完成备份操作,减少用户的等待时间,提高其使用体验。 此外,新版还增加了一些常见的常见问题的解决方案,如一键修复文件数据、一键恢复备份数据、文件夹对比等功能,让用户在使用时更加省心、省力,使备份成为一项便捷简单的任务。 总之,115转存助手ui优化版v3.8的优化改进使得它更加符合用户需求,并且使得文件备份的整个流程变得更加方便、快捷、高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w风雨无阻w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值