北京网站制作公司,全网营销解决方案,惠州seo排名公司,安卓开发程序编辑UI界面时#xff0c;要先切换到2d界面 #xff08;3d项目的话#xff09; 1.Text控件
Text控件的相关属性#xff1a;
Character:#xff08;字符#xff09; Font#xff1a;字体 Font Style#xff1a;字体样式 Font Size#xff1a;字体大小 Line Spac…编辑UI界面时要先切换到2d界面 3d项目的话 1.Text控件
Text控件的相关属性
Character:字符 Font字体 Font Style字体样式 Font Size字体大小 Line Spacing行间距多行 Rich Text“富”文本。例如UbG/bU/iIvolor”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 updatevoid Start(){life 100;time 1;deltime 0;blood.fillAmount life / 100.0f;//fillAmount是0到1的浮点数这里要注意类型转换txt.text life.ToString();}// Update is called once per framevoid Update(){deltime Time.deltaTime;if(deltimetime){deltime 0;life--;if (life 0)life 0;blood.fillAmount life / 100.0f;txt.text life.ToString();}}
}
运行结果