unity UI系统
在日常的游戏或者别的什么活动中,ui总是必不可少的一项,在java中也有关于GUI的内容,unity也不例外,这次就使用脚本控制在unity添加的各种ui组件,使他们可以完成一些我们想要的功能
添加ui
在uniry中,自带了一些关于ui的组件
关于ui的详细介绍和使用可以阅读这篇文章
linkhttp://t.csdnimg.cn/dcXDQ
在此就不多做赘述,而将目光聚焦于添加这些ui组件后如何用脚本实现功能
一个登录ui示例(不代表描述对象,仅仅是一个实例)
编写脚本
我们可以看到在这些ui组件中,有各种各样的功能,例如文本输入框,按钮,背景,滑轮一类的,
那么该如何通过c#脚本来让这些组件实现相应的功能呢
/**
* 学习ui系统
*
* 学习unity事件系统
* EventSystem
* 接口IPoint...Handler //指针事件接口
* I...DragHandler //拖拽事件接口
* transform.position=Input.mousePosition
* **/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//旧版命名空间
//using TMPro;//新版文本命名空间
using System;
public class ui : MonoBehaviour
{
//给gui对象赋值
//第一种方式:getcompoent
//第二种方式:public+外界赋值
//Text t;
//TextMeshPro tmp
//在添加组件的时候可以根据这个脚本中创建的对象添加
public Text t;
public Image image;
public RawImage RawImage;
public Button button;
public InputField inputField;
public Toggle toggle;
public Slider slider;
public Scrollbar scrollbar;
public Dropdown dropdown;
private void Initdropdown()
{
dropdown.options.Clear();//清除列表
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = "guanzhu";
dropdown.options.Add(op1);
Dropdown.OptionData op2 = new Dropdown.OptionData();
op2.text = "谢谢喵";
dropdown.options.Add(op2);
}
void changedropdown(int intValue)
{
switch (intValue)
{
case 0:
Debug.Log("关注");
break;
case 1:
Debug.Log("取关");
break;
default:
break;
}
}
void clickButton()
{
//Debug.Log("关注成功");
if(inputField.text == "123"){
Debug.Log("yes");
}else
{
Debug.Log("no");
}
}
void clickToggle(bool isOn)
{
if (isOn)
{
Debug.Log("静音");
}else
{
Debug.Log("播放");
}
}
void clickSilder(float floValue)
{
if (floValue<0.3f)
{
Debug.Log("没血了");
}
}
}
上面是一些可以可以显示到幕布上的功能,还有一些操控按钮和滚动条滑动条的功能,当然现在这个还是非常简单的,并没有什么复杂的功能(而且也没有配套的ui,这也没办法,之前写好的忘了保存就关机了直接找不见),可以作为一个练习的展示功能
以上。