UntiyGUI系统之Image

来源:互联网 发布:手机玩lol软件 编辑:程序博客网 时间:2024/04/28 02:12

Image用于显示显示一张图片

一、Image的基本属性


0、Material :给图片添加一个材质,然后通过着色器使图片具有一些特殊的效果

1、Sucrce Image :指定Image控件需要显示的图片

2、Color : 指定Image的颜色

3、Preserve Aspect :当勾选这个选项之后再对图片进行操作时,会保持图片的宽度和高度的比例不发生改变。

4、Set Native Size :当点击这个按钮时则会恢复图片原本的大小

5、Image Type : 设置图片的显示方式,Unity给我们提供了几种方式:

1、Tiled :当图片没有Image控件区域大时,则通过重复显示图片来填满整个控件区域。

2、Sliced : 通过编辑图片,对图片进行编辑,在选定区域内的部分在对图片进行缩放时则该区域内部分会被缩放,而在区域外的绿色线框左右部分只会上下伸缩,而上下线框外的部分只会左右拉伸,四个角则无论怎样缩放都不会变化。
选择图片:

选择Sprite Editor选项进行对图片缩放区域的编辑:

当我们选择外部的边框不随图片缩放而变化时的结果为:

3、 Filled :用于显示图片的部分区域。
在选择这个选项时会出现多个选项:

Fill Method : 图片的填充方式

Horizontal : 左右填充
Vertical :上下填充

Fill Origin :填充的起始和结束方向

Fill Amount : 填充的比例

6、Raycast Tagrt :是否会与射线进行碰撞检测,勾选则是。

三、对Image控件进行操作:

1、按下Shift按键时在对Imag进行操作时会使图片的宽和高同时缩放。

2、按下Ctrl按键时在对Image进行操作时会使当前图片的面积保持不变,宽和高缩放一定的比例。

3、按下Alt按键时在对Image进行操作时会使Image宽度或者高度的两边同时的增加或者减少。

四、Image案例,制作技能冷却时间

1、技能控件的制作

Image :底部的背景图片

Bg : 冷却完成时显示的技能图片

Bgtp :正在冷却时显示的技能显示图片

Text : 显示冷却时间

代码实现

using UnityEngine;using System.Collections;using UnityEngine.UI;//使用UI控件时引入的命名空间public class ImageCD : MonoBehaviour {    public float cdTime = 100;//技能需要冷却时间    public bool isState=false;  //判断当前技能是否进入冷却状态    private float time = 0;//技能已经冷却的时间    public Image image;    public Text text;    void Start()    {        text.enabled = false;    }    //设置释放技能的按键    public KeyCode keyCode;    void Update ()    {        if(Input.GetKeyDown(keyCode))        {            isState = true;        }        if(isState)        {            text.enabled = isState;            //冷却的时间            time +=Time.deltaTime;            image.fillAmount = (cdTime - time) / cdTime;            string s = time.ToString();            text.text = s;        }        //技能冷却完成        if(time>=cdTime)        {            isState = false;            image.fillAmount = 0;            time = 0;            text.enabled = isState;        }    }}

运行结果:

0 0