Unity实用技能-UI进度条

实用技能系列

  1. Unity实用技能-UI滑动条技能总结
  2. Unity实用技能-UI规范总结
  3. Unity实用技能-协作规范总结
  4. Unity实用技能-UI与粒子效果总结
  5. Unity实用技能-UI定位总结
  6. Unity实用技能-背景自适应文本

文章目录


前言

这段时间接触了进度条内容,总结一下


进度条主要包含哪些内容?

  1. 进度条框架
  2. 背景图尺寸自适应
  3. 随机背景图片替换
  4. 进度条加载

进度条框架是怎样的?

  1. 包括业务部分和数据部分,两者各自有一个基类,针对PVP和PVE各自继承基类扩展
  2. 还有类似管理器的部分,支持对继承的类进行预加载等管理
  3. 业务基类支持统一的进度条提示文本,以及进度条加载。如下图鸣潮的加载提示和进度条

背景图尺寸如何自适应?

问题的背景是美术统一出了一个1624x750尺寸的加载图,但加载图本身无法用九宫格拉伸,直接使用Unity的这个锚点导致不同分辨率下加载图会被压缩,也就是没有保持图片比例,表现上不好看

  1. 思路上比较简单,就是锚点居中,然后用代码来改变图片尺寸

  2. 代码中具体做法就是获取画布的尺寸,然后用画布尺寸的对应宽和高分别除以图片标准尺寸的宽和高,如1624x750;得到的宽和高两个比值进行比较,得到比值较大的,以此为标准,用图片标准尺寸的宽和高分别与这个比值相乘来放大图片即可


随机背景图片如何替换?

美术出了很多张同尺寸的背景图,需要给进度条的大背景换图

  1. 首先在我司的项目中,直接换图会导致图片加载慢半拍,所以实际换图需要利用好预加载,实际上加载的View对象也是在游戏过程中不删除的,也就是一直在内存中
  2. 直接做法就是在登陆时预加载所有的备选图片,这样任选一张图片来替换背景都可以立刻替换
  3. 但项目中在登陆时预加载的图片不会一直存在于游戏过程中,所以最终采用的是用两个Image对象分别交替加载背景图完成需求
  4. 对于这些图片资源,显然其数量可以通过策划配置来得到

进度条如何加载?

  1. 基本思路就是通过协议事件来更实时更新进度条数值,总计3个,即开始、更新过程、结束事件
  2. 大部分的更新进度条都在更新过程,开始和结束主要是为了保证临界值表现正确

总结

目前遇到的格式化问题就是这样,之后有新的格式化问题也会继续在这里补充

相关推荐
VT LI13 小时前
Cocos2d-x 引擎架构全面深度解析:从底层渲染到上层交互的系统性技术全景
游戏引擎·cocos·引擎架构
Kurisu57514 小时前
探灵直播2026最新官方正版免费下载 一键转存 永久更新 (看到速转存 资源随时走丢)
游戏·游戏引擎·游戏程序·动画·关卡设计
ZC跨境爬虫14 小时前
跟着 MDN 学CSS day_2:(连接样式表与选择器的实战艺术)
java·前端·css·ui·html·媒体
神码编程15 小时前
【Unity】MiniGame编辑器小游戏(十五)中国象棋局域网对战【Chinese Chess】(上)
unity·编辑器·游戏引擎·小游戏
伽蓝_游戏15 小时前
第四章:AssetBundle 核心机制与文件结构
unity·c#·游戏引擎·游戏程序
ZC跨境爬虫15 小时前
跟着 MDN 学CSS day_1:(CSS 基石与色彩的艺术)
前端·javascript·css·ui·html
郝学胜-神的一滴15 小时前
中级OpenGL教程 006:高光反射原理与 Shader 实现
c++·unity·godot·图形渲染·three.js·opengl·unreal
前端若水16 小时前
项目初始化:Vite + React + shadcn/ui
前端·react.js·ui
ZC跨境爬虫16 小时前
模块化烹饪小程序开发日记 Day4:网络层基础设施与接口治理实践
前端·javascript·数据库·ui·html
神码编程19 小时前
【Unity】MiniGame编辑器小游戏(十六)中国象棋局域网对战【Chinese Chess】(下)
unity·编辑器·游戏引擎·小游戏