我是AR人
侠客
侠客
  • UID4982
  • 粉丝2
  • 关注0
  • 发帖数20
阅读:321回复:0

Unity3d入门教程系列:UGUI的基本使用方法

楼主#
更多 发布于:2017-12-30 22:47
前言
UGUI是Unity官方推出的新一代交互系统,与传统的GUI相比,它具有使用灵活、界面美观、支持个性化定制的特点。本文将会进行UGUI使用的简单介绍,与大家一起敲开UGUI开发的大门。
说到底,UGUI还是一种UI系统,目的就是帮助用户更好地与软件进行交互。本文将介绍canvas、image、button等。当学会了使用button和image等控件后,其他的也就可以举一反三地进行自学了。

1 Canvas
Canvas是画布的意思,通俗来讲,UGUI的所有控件如button等都要摆放在画布上。在Hierarchy中,button、image等控件都是Canvas的子物体。在Hierarchy中点击Create——UI——Canvas,会生成一个画布,同时生成一个EventSystem。



2 Button
2.1 生成个性化按钮
在Hierarchy中点击Create——UI——Button,会在Canvas下生成一个Button。


该Button有一个image组件和一个Button组件,改变Image组件的Source Image可以改变Button的外观。而我们需要为其选择一个UISprite型图片。


假设我们在Assets目录下已经有了一个图片,名叫music.jpg,我们需要选中它,这时候看到Inspector中如下图。我们需要把Texture Type类型改为Sprite(2D and UI),然后点右下方的“Apply”。



将进过类型转换的music图片拖动到Button控件的Image组件的SourceImage变量上,并点击SetNativeSize。



将Button的子物体Text置为空。




然后就可以看到游戏中如下的按钮了。




重新设置按钮尺寸为width=100,height=100。




可以在Button组件中设置按钮的颜色。如图我们将高亮时设置为黄色,按下时设置为蓝色,按钮无效时设置为灰色。


运行效果如下图。

2.2 为按钮添加事件响应
创建一个脚本MusicButton.cs,并自己写一个OnClick()函数。将脚本绑定在Button上。
  1. using UnityEngine;  
  2. using System.Collections;  
  3.  
  4. public class MusicButton : MonoBehaviour {  
  5.  
  6.    // Use this for initialization  
  7.    void Start () {  
  8.      
  9.    }  
  10.      
  11.    // Update is called once per frame  
  12.    void Update () {  
  13.      
  14.    }  
  15.  
  16.    public void OnClick()  
  17.    {  
  18.        Debug.Log("按钮被按下了!");  
  19.    }  
  20. }  

点击按钮Button组件的OnClick区的“+”,并把已经绑定了MusicButton.cs脚本的Button对象拖动到如下图的位置。


然后点击NoFunction下拉按钮,选择MusicButton的OnClick即可。

然后运行游戏,点击图标,就能在控制台输出中看到相应的信息。



另一种为按钮添加事件响应的方法是仅仅使用脚本,不使用拖拽的方式。
在上面脚本的基础上添加程序集引用

  1. using UnityEngine.UI;  

在Start()函数中添加
  1. transform.GetComponent<Button>().onClick.AddListener(OnClick);  

也可以实现同样的效果。

3 Image
在Hierarchy视图中,点击Create——UI——Image,就创建了Image。它也需要一个Sprite类型的图片。



它有一个比较重要的参数是ImageType,其中有四种,最常用的是Simple和Filled。所以,我们以Filled为例,展示image的使用效果。



上述功能非常适合做进度条、血条、时间轴等动态对象。
小结
本文详细介绍了UGUI的Button的使用方法,并简略说明了Image、Canvas等的基本用途,相信读者可以举一反三,进行后续的学习。
关于详细学习UGUI的视频教程给大家推荐一下:http://edu.manew.com/course/183

欢迎分享

游客

返回顶部