Unity的UI界面——Text/Image

news2024/9/24 13:24:02

编辑UI界面时,要先切换到2d界面 (3d项目的话)

1.Text控件

Text控件的相关属性:

Character:(字符)  

Font:字体  

Font Style:字体样式

Font Size:字体大小  

Line Spacing:行间距(多行)

Rich Text:“富”文本。例如:U<b>G</b>U</i>I<volor=”yellow”>学</color>习 Color:字体颜色  

Paragraph:(段落)

  设置文本在Text框中的水平以及垂直方向上的对齐方式。

Horizontal Overflow :水平方向上溢出时的处理方式。它有两种:Wrap隐藏,Overflow 溢出  Vertical Overflow:垂直方向上溢出时的处理方式。它有两种:Truncate截断,Overflow 溢出 

2. Image控件

Image控件除了两个公共的组件Rect Transform与Canvas Renderer外,默认的情况下就只有一个Image(Script)组件:

Source Image需要Sprite类型的图片素材,所以我们放入的图像需要进行处理:

在Project中选中要转换在图片,然后在Inspector检视图中,单击Texture Type(纹理类型)右边的下拉框,在弹出的菜单中,选中选项Sprite(2D and UI)并点击下方的Apply(应用)按钮就可把此图片转换成精灵格式,随后就可拖放到Image的Source Image中了

如下图所示:

Color:可改变图片的颜色;  

Material:材质,这是针对一些复杂的贴图使用。

Image Type:贴图的类型,这是最重要的属性。

1.Simple:就是简单的贴图类型

2.Sliced类型(挺常用的)

当你切换成Sliced类型时,它会提示你这个图片没有border.

那么什么是border呢?

我们打开贴图素材,进入Sprite Editor

我们可以看到四个蓝色的点和四个绿色的点,蓝色的点是用来选中所需图片位置和大小的,而绿色的点就是来划分border的,有点像碰撞框,移动这四个点,最后就会出现九宫格一样的九个区域。(这里还有四个点,一开始和蓝色的点重叠了,所以看不到)

设置了border之后,image在场景中缩放的时候,就不会变的面目全非,而是有特点的缩放

四个顶角区域的小方格不变,剩下左右侧靠中间的小方块只会上下伸缩,剩下上下侧靠中间的小方块只会左右伸缩,最中间的区域都会变化。

3. Tiled类型

直接上图吧:

我们将图片(Image控件)放大(不是素材)

当原素材的大小不适配Image控件大小时,就会多填充一些相同素材,超出边界的截断处理。

4. Filled类型

Fill Method:

包括水平,垂直,90度,180度,360度填充方法

Fill Origin:分两种:从左边开始填充/从右边

Fill Amount:图片填充的比例(范围:0到1)

应用:我们在技能冷却和血条上可以用的上这个类型。 

3.案例练习:

下面我们用Text和image(Filled Type)来制作一个血条功能

随着时间变化,我们的血条会逐渐减少。 

 我们添加一个Text显示血量,一个Image通过和Fill Amount进行联系,缓慢减少它的填充比例。

 然后添加代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class UITest : MonoBehaviour
{
    public Text txt;//赋值的血量
    public Image blood;//血条图片
    private int life;//血量
    float time, deltime;
    // Start is called before the first frame update
    void Start()
    {
        life = 100;
        time = 1;
        deltime = 0;
        blood.fillAmount = life / 100.0f;//fillAmount是0到1的浮点数,这里要注意类型转换
        txt.text = life.ToString();
    }

    // Update is called once per frame
    void Update()
    {
        deltime += Time.deltaTime;
        if(deltime>=time)
        {
            deltime = 0;
            life--;
            if (life < 0)
                life = 0;
            blood.fillAmount = life / 100.0f;
            txt.text = life.ToString();
        }
    }
}

运行结果:

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

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

相关文章

c语言力扣题目:消失的数字(有关时间复杂度O(N²)O(N))以及对异或操作符的更深入的理解(如何用人脑的十进制去考量二进制)

目录 Way One :暴力求解,时间复杂度为 O(N) 代码1 Way Two : 时间复杂度限制到 O(N) 代码及其详解 如题 Way One :暴力求解,时间复杂度为 O(N) 大体思路:比如这里我们需要处理的整型数组是"3,0,1",我们可以用冒泡排序或者 qsort函数将他从大到小进行排序成"…

【SQL】根据年份,查询每个月的数据量

根据年份&#xff0c;查询每个月的数据量 一种 WITH Months AS (SELECT 1 AS Month UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION…

惯性导航基础知识学习----02惯性器件的误差和标定(下)

&#x1f308;武汉大学惯性导航课程合集是入门惯导的精品课程~ 作为导航路上的鼠鼠我&#xff0c;要开始学习惯性导航了~ 需要达到的要求是大致了解惯导的原理等~ 后期会陆续更新惯导相关的知识和笔记等~ &#x1f42c; 本blog为 武汉大学惯性导航课程 的记录~ 感谢团队提供的开…

Java中四种引用类型(强、软、弱、虚)

目录 引言 强引用&#xff08;Strong References&#xff09; 软引用&#xff08;Soft References&#xff09; 弱引用&#xff08;Weak References&#xff09; 虚引用&#xff08;Phantom References&#xff09; 引用类型的应用场景 总结 引言 Java中的引用类型是管理…

智能优化算法应用:基于梯度算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于梯度算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于梯度算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.梯度算法4.实验参数设定5.算法结果6.参考文献7.MA…

[Angular] 笔记 3:ngIf

ngIf 是 Angular 的行为指令。 基本写法&#xff1a;<div *ngIf"hero" class"name">{{ hero.name }} </div> 当 ngIf 表达式求值为 truthy 时&#xff0c;Angular会渲染在then子句中提供的模板&#xff1b;当为falsy 时&#xff0c;Angular会…

数显温度表 DHC15W AC110~240V 温度范围 -9+99度 导轨安装

一、概述 ​DHC15W数显温度表是一种高精度的温度测量仪器&#xff0c;采用数字显示技术&#xff0c;具有测量准确、稳定性高、操作简单、方便实用等优点。广泛应用于电子、冶金、化工、医药、食品等行业&#xff0c;适用于各种温度测量和监控场景。 二、产品特点 高精度测量&…

金蝶 Apusic 应用服务器任意文件上传漏洞

漏洞简介 金蝶 Apusic 应用服务器存在一个任意文件上传漏洞&#xff0c;攻击者可以通过构造恶意请求上传恶意文件到服务器&#xff0c;导致服务器失陷。 指纹识别 app“Apusic应用服务器” 漏洞复现 1.通过脚本构造应用zip压缩包&#xff1a; import zipfiletry:zipFile …

mysql创建用户和赋权

1.创建用户 CREATE USER new_userlocalhost IDENTIFIED BY user_password; “localhost"只允许本地连接&#xff0c;而”%"允许所有IP地址都可以连接到服务器。 2.赋权 GRANT ALL PRIVILEGES ON database_name.* TO new_userlocalhost; FLUSH PRIVILEGES; 3.给…

Linux线程——条件变量

什么是条件变量 条件变量是线程另一可用的同步机制。条件变量给多个线程提供了一个会合的场所。条件变量与互斥量一起使用时&#xff0c;允许线程以无竞争的方式等待特定的条件发生。 条件本身是由互斥量保护的。线程在改变条件状态前必须首先锁住互斥量&#xff0c;其他线程…

Linux下c语言实现动态库的动态调用

在Linux操作系统下&#xff0c;有时候需要在不重新编译程序的情况下&#xff0c;运行时动态地加载库&#xff0c;这时可以通过Linux操作系统提供的API可以实现&#xff0c;涉及到的API主要有dlopen、dlsym和dlclose。使用时&#xff0c;需要加上头文件#include <dlfcn.h>…

Linux 操作系统(用户注册、删除、权限修改等)

添加用户 格式&#xff1a;useradd 用户名 ( 添加用户 ) passwd 用户名 (给用户设置密码) Linux 用户切换原则&#xff1a; 高权限向低权限切换无需输入密码 低权限向高权限或同级用户切换需要输入密码 用户切换&#xff1a;su su – 用户名 &#xff08;用户切换&#x…

Appium+Python自动化环境搭建实例教程

前言 appium可以说是做app最火的一个自动化框架&#xff0c;它的主要优势是支持android和ios&#xff0c;另外脚本语言也是支持java和Python。 小编擅长Python&#xff0c;所以接下来的教程是appiumpython的实例。 学习appium最大的难处在于环境的安装&#xff0c;从入门到真…

智能优化算法应用:基于混沌博弈算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于混沌博弈算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于混沌博弈算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.混沌博弈算法4.实验参数设定5.算法结果6.…

K8s内容器拓扑图工具

1.背景&#xff1a;随着线上容器越来越多&#xff0c;需要一个可视化的方式展示各个容器之间的拓扑图。 2.需求&#xff1a;轻量级&#xff0c;部署方便。 3.部署 helm repo add groundcover https://helm.groundcover.com/ helm repo update helm install caretta --namespa…

springboot解决XSS存储型漏洞

springboot解决XSS存储型漏洞 XSS攻击 XSS 攻击&#xff1a;跨站脚本攻击(Cross Site Scripting)&#xff0c;为不和 前端层叠样式表(Cascading Style Sheets)CSS 混淆&#xff0c;故将跨站脚本攻击缩写为 XSS。 XSS(跨站脚本攻击)&#xff1a;是指恶意攻击者往 Web 页面里插…

2_js运算符与流程控制语句

1. 运算符的应用 1.1 算数运算符 浮点数的精度问题 浮点数值的最高精度是17位小数&#xff0c;不要直接判断两个浮点数是否相等。 var result 0.1 0.2; // 结果不是 0.3&#xff0c;而是&#xff1a;0.30000000000000004 console.log(0.07 * 100); // 结果不是 7&#…

CSS设计器的使用

目录 css的概念 css的优势 css的基本语法 html中引入css样式 CSS基本选择器 选择器的使用 初级选择器&#xff1a; 标签选择器 类选择器 id选择器 高级选择器(结构选择器&#xff09; ①后代选择器(E F) ②子选择器(E>F) ③相邻兄弟选择器(EF) ④通用兄弟选择器(…

【halcon深度学习之那些封装好的库函数】determine_dl_model_detection_param

determine_dl_model_detection_param 目标检测的数据准备过程中的有一个库函数determine_dl_model_detection_param “determine_dl_model_detection_param” 直译为 “确定深度学习模型检测参数”。 这个过程会自动针对给定数据集估算模型的某些高级参数&#xff0c;强烈建议…

23 聪明的设计

仅用加法的实在是想不出来。。 #include <iostream> using namespace::std; using std::cout; using std::cin; int ljq(int n) {if(n < 1){return n;}else{return (nljq(n-1));} }int main() {int n;cin >> n;std::cout << ljq(n);return 0; }