cocos3.0 关于UI组件学习

news2024/9/25 13:24:08

Sprite

图片:官方文档
在这里插入图片描述
Size Mode:
1.Raw:原始大小
2.TRIMMED: 默认,会裁切原始图片透明像素
3.Custom:自定义,只要修改ContentSize,会自动设置

Type
1.Simple:普通,会铺满,一张图。
2.Sliced:九宫格,会铺满,一张图,四角保持一样,中间被拉伸。
3.Tiled:平铺 ,会铺满,多张图。
4.Filled:填充,一张图,Simple升级版,可以设置填充范围。

Fill Type: 填充类型,水平和垂直,扇形。
在这里插入图片描述
ImageAsset使用代码:

//比如本地 resources/image/logo.png
var url:string="image/logo";
// 方式一:ImageAsset -> Texture2D -> SpriteFrame
resources.load(url, ImageAsset, (err, imageAsset) => {
  if (err) {
    return console.error("ImageAssert load failed, err:" + err.message);
  }
  //1.原始方法
  let texture = new Texture2D(); 
  texture.image = imageAsset;
  let spriteFrame = new SpriteFrame();
  spriteFrame.texture = texture;
  sprite.spriteFrame = spriteFrame;
  //2.快捷方法
  sprite.spriteFrame = SpriteFrame.createWithImage(imageAsset);
});

//方式二:Texture2D -> SpriteFrame
url="image/logo/texture";
resources.load(url,Texture2D,(err,texture2d)=>{})

//方式三: SpriteFrame
url="image/logo/spriteFrame";
resources.load(url,SpriteFrame,(err,spriteFrame)=>{})

//加载远程或其他平台

//1.不带有后缀的,必须指证文件类型
let url = "http://xxx.com/icon?id=12345";
assetManager.loadRemote<ImageAsset>(url, {ext:'.png'}, (err, imageAsset) => {})

let url = "http://xxx.com/icon/andy.jpg";
assetManager.loadRemote<ImageAsset>(url, (err, imageAsset) => {})

关于图集使用,点击这里

Mask

遮罩:官方文档
Type
1.RECT:矩形遮罩
2.ELLIPSE:多边形遮罩 ,通过Segments设置几条边,设置为6是六边形,设置64接近圆。
3.GRAPHICS_STENCIL:图形遮罩,需要挂一个脚本对 Graphics进行画图
4.SPRITE_STENCIL:图片遮罩,需要拖入一个sprite图片。CD倒计时可用Filled类型。

在这里插入图片描述
CD倒计时代码:

	let sprite:Sprite=this.mask.getComponent(Sprite);
	sprite.type = Sprite.Type.FILLED;
	sprite.fillType = Sprite.FillType.RADIAL;
	sprite.fillStart=0;
	sprite.fillCenter = new Vec2(0.5,0.5);
	update(deltaTime: number) {
        if(this.mask.node){
            let sprite:Sprite = this.mask.getComponent(Sprite);
            sprite.fillRange+=0.01;
            if(sprite.fillRange>=1){
                sprite.fillRange=0;
            }
        }
    }

ProgressBar

进度条:官方文档

在这里插入图片描述
1.拉伸图片:Mode使用HORIZONTAL或VERTICAL,Bar使用Sliced,Total Length是总长度。
2.填充图片:Mode使用FILLED,Bar使用Filled,Fill Range填1,Bar宽度是总长度。

	progressbar.progress = 0.5;

Layout

布局:官方文档
在这里插入图片描述
Type 布局类型
1.HORIZONTAL:水平
2.VERTICAL:垂直
3.GRID:表格

ResizeMode 模式:

1.NONE:子物体和容器的大小变化互不影响。
2.CHILDREN:子物体大小会随着容器的大小而变化。
3.CONTAINER:容器的大小会随着子物体的大小变化。

所有的排列都是根据容器大小进行计算的,如果需要固定排序,可以将 Type 设置为 GRID,然后设置 Constraint 和 ConstraintNum 来固定排序。

Constraint 模式:
1.NONE:自由布局。
2.FIXED_ROW:固定行数,搭配 ConstraintNum 使用。
3. FIXED_COL:固定列数,搭配 ConstraintNum 使用。

Scroll View

滚动视图:官方文档
在这里插入图片描述
Inertia:滚动停止时,是否有加速度。
Elastic:滚动越界时,是否可以反弹。
content:里边最好挂一个Layout组件,可以设置显示内容水平和垂直间距,显示个数。

ToggleContainer

单选框:官方文档
在这里插入图片描述
代码使用:

@ccclass('BasicUI')
export class BasicUI extends Component {
	@property(ToggleContainer)
	toggleGroup:ToggleContainer = null!;
	
	start() {
		//单选组
		const containerEventHandler = new EventHandler();
		// 脚本所挂的节点
		containerEventHandler.target = this.node; 
		// 脚本类名
		containerEventHandler.component = 'BasicUI';
		containerEventHandler.handler = 'checkGroup';
		containerEventHandler.customEventData = 'data';
		
		this.toggleGroup.checkEvents.push(containerEventHandler);
	}
    private checkGroup(event: Event, customEventData: string):void{
        console.log("单选测试:",event,customEventData);
    }
}

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

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

相关文章

信号处理与分析——matlab记录

一、绘制信号分析频谱 1.代码 % 生成测试信号 Fs 3000; % 采样频率 t 0:1/Fs:1-1/Fs; % 时间向量 x1 1*sin(2*pi*50*t) 1*sin(2*pi*60*t); % 信号1 x2 1*sin(2*pi*150*t)1*sin(2*pi*270*t); % 信号2% 绘制信号图 subplot(2,2,1); plot(t,x1); title(信号x1 1*sin(…

Qt——2D画图

基础画图函数 矩形 painter.drawRect(50,50,200,100); 圆角矩形 painter.drawRoundRect(50,50,200,200,50,50); xRadius和yRadius分别以矩形宽度和高度的一半的百分比指定&#xff0c;并且应该在0.0到100.0的范围内 弧线 painter.drawArc(50,50,200,200, -90*16, 90*16);…

微服务(基础篇-003-Nacos)

目录 Nacos注册中心&#xff08;1&#xff09; 认识和安装Nacos&#xff08;1.1&#xff09; Nacos快速入门&#xff08;1.2&#xff09; 服务注册到Nacos(1.2.1) Nacos服务分级存储模型&#xff08;1.3&#xff09; 配置集群&#xff08;1.3.1&#xff09; 根据集群修改…

记录echarts各种地图json文件下载地址

今日绘图需要用到echarts的地图json文件&#xff0c;但是github上已经找不到了&#xff0c;后发现伟大的网友提供了地址如下&#xff1a;Index of /examples/data/asset/geohttps://echarts.apache.org/examples/data/asset/geo/

uniapp 打包后缺少maps模块和share模块的解决方案

缺失maps模块 我的应用 | 高德控制台 缺失share模块 QQ互联管理中心 微信开放平台

OC对象 - 关联对象(如何给分类添加成员变量)

文章目录 OC对象 - 关联对象&#xff08;如何给分类添加成员变量&#xff09;1. 基本使用1.1 提供的API1.1.1 添加关联对象1.1.2 获得关联对象1.1.3 移除所有关联对象1.1.3 修饰符 1.2 使用方法1.2 Key的常见用法1.2.1 使用的get方法的selecor作为key1.2.2 使用指针的地址作为k…

Springboot实现合并单元格的excel文件导入到数据库(多模块)

最近做项目的时候一直在遇到excel导入导出的问题&#xff0c;本篇博文也是为了记录我这几天的血泪史&#xff0c;并做以记录&#xff0c;希望各位看完之后能有所收获。 以下是我excel文档里面的具体内容&#xff1a; excel文件中的编码信息属于另外一张表&#xff0c;所以以下…

MySQL:表的操作

文章目录 创建表查看表结构修改表删除表 前面对于库的操作有了认识后&#xff0c;下面进行表的操作 创建表 以下图为例 创建表其实和定义结构体有点类似&#xff0c;总的来说就是先定义列名&#xff0c;然后后面跟着是列的数据类型&#xff0c;之后在定义结束后可以带上对应的…

SpringMVC | SpringMVC中的 “文件上传和下载”

目录: 一、文件上传1.1 文件上传“概述”1.2 文件上传“具体配置” :“前端”中配置“文件上传” ( type“file” 满足3个条件 )“后端”中配置“文件上传” ( 配置id为“CommonsMultipartResolver”的bean 配置“文件上传”的“约束条件” 通过“MultipartFile接口”参数接…

综合知识篇21-项目管理考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

02.percona Toolkit工具pt-archiver命令实践

1.命令作用 Percona Toolkit有的32个命令&#xff0c;可以分为7大类 工具类别 工具命令 工具作用 备注 开发类 pt-duplicate-key-checker 列出并删除重复的索引和外键 pt-online-schema-change 在线修改表结构 pt-query-advisor 分析查询语句&#xff0c;并给出建议&#x…

Docker 笔记(七)--打包软件生成镜像

目录 1. 背景2. 参考3. 文档3.1 使用docker container commit命令构建镜像3.1.1 [Docker官方文档-docker container commit](https://docs.docker.com/reference/cli/docker/container/commit/)Description&#xff08;概述&#xff09;Options&#xff08;选项&#xff09;Exa…

108、3D Gaussian Splatting for Real-Time Radiance Field Rendering

简介 官网 更少训练时间的同时实现最先进的视觉质量&#xff0c;能在1080p分辨率下实现高质量的实时(≥30 fps)新视图合成 NeRF使用隐式场景表示&#xff0c;体素&#xff0c;点云等属于显示建模方法&#xff0c;3DGS就是显示辐射场。它用3D高斯作为灵活高效的表示方法&…

android Fragment 生命周期 方法调用顺序

文章目录 Introlog 及结论代码 Intro 界面设计&#xff1a;点击左侧按钮&#xff0c;会将右侧 青色的RightFragment 替换成 黄色的AnotherRightFragment&#xff0c;而这两个 Fragment 的生命周期方法都会打印日志。 所以只要看执行结果中的日志&#xff0c;就可以知道 Fragme…

2021年XX省赛职业院校技能大赛”高职组 计算机网络应用赛项 网络构建模块竞赛真题

“2021年XX省赛职业院校技能大赛”高职组 计算机网络应用赛项 网络构建模块竞赛真题 目录 一&#xff0e;考试说明 1 二&#xff0e;模块B网络构建 2 &#xff08;一&#xff09;任务描述 2 &#xff08;二&#xff09;任务清单 9 一&#xff0e;考试说明 本模块比赛时间为…

服务消费微服务

文章目录 1.示意图2.环境搭建1.创建会员消费微服务模块2.删除不必要的两个文件3.检查父子模块的pom.xml文件1.子模块2.父模块 4.pom.xml 添加依赖&#xff08;刷新&#xff09;5.application.yml 配置监听端口和服务名6.com/sun/springcloud/MemberConsumerApplication.java 创…

nodejs+vue高校洗浴管理系统python-flask-django-php

高校洗浴管理系统采用数据库是MySQL。网站的搭建与开发采用了先进的nodejs进行编写&#xff0c;使用了express框架。该系统从两个对象&#xff1a;由管理员和学生来对系统进行设计构建。主要功能包括&#xff1a;个人信息修改&#xff0c;对学生管理、浴室信息、浴室预约、预约…

【算法竞赛进阶指南】0x05 排序

0x05排序 排序基本算法 785. 快速排序 - AcWing题库姑且用这个评测。 1.选择、插入、冒泡 这类排序是基于比较的排序算法&#xff0c;时间复杂度为 选择排序 思路比较简单&#xff0c;就是每一次从后面选出最小的数字来与当前这个数字交换 #include<bits/stdc.h> co…

(一)基于IDEA的JAVA基础7

关系运算符 运算符 含义 范例 结果 等于 12 false &#xff01; 不等于 1&#xff01;2 true > 大于 1>2 false < 小于 …

【协议-HTTPS】

https https是在http协议的基础上&#xff0c;添加了SSL/TLS握手以及数据加密传输&#xff0c;也属于应用层协议。 httpshttp加密认证完整性保护 https交互图&#xff1a; HTTPS的整体过程分为证书验证和数据传输阶段&#xff1a; ① 证书验证阶段 浏览器发起 HTTPS 请求 服务…