UGUI
using UnityEngine.UI;
Text控件
Text text;
text = GameObject.Find("ATestText").GetComponent<Text>() ;
text.text="需要显示的的字符串";
Image控件
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
using System;
public class UGUIImageControl : MonoBehaviour {
// Use this for initialization
Texture2D texture2D;
public Image image;
string ImagePath = "Assets/Cinema Suite/About/Resources/MocapKeyImage.png";
string ImagePath2 = "sprites/tempIMG";//overrideSprite方法必须用Resources文件夹里的资源
int a = 1;
void Start () {
image= GameObject.Find("Image_A").GetComponent<Image>();
LoadByIO();
}
private void LoadByIO()
{
/*
* 读取图片文件
*/
FileStream fileStream = new FileStream(ImagePath, FileMode.Open, FileAccess.Read);
fileStream.Seek(0, SeekOrigin.Begin);
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, (int)fileStream.Length);
fileStream.Close();
fileStream.Dispose();
fileStream = null;
/*
* 创建Textture
*/
int width = 300;
int height = 372;
Texture2D texture2D = new Texture2D(width,height);
texture2D.LoadImage(bytes);
/*
* 创建精灵。
*/
Sprite sprite = Sprite.Create(texture2D, new Rect(0, 0, texture2D.width, texture2D.height), new Vector2(0.5f, 0.5f));
image.sprite = sprite;
}
// Update is called once per frame
void Update () {
a++;
if(a>300)
{
print(a);
image.overrideSprite= Resources.Load<Sprite>(ImagePath2) as Sprite;
//overrideSprite方法必须用Resources文件夹里的资源
}
}
}
Button控件
1. 在onClick选项里操作。
2. Button.onClick.AddListener(f);//f为编写好的函数。
3. EventTrigger添加:(也可以用层级试图操作)
using UnityEngine.EventSystems;
using UnityEngine.Events;
using UnityEngine;
public class AddTrigger : MonoBehaviour {
// Use this for initialization
void Start() {
UnityAction<BaseEventData> click = new UnityAction<BaseEventData>(MyClick);
EventTrigger.Entry myClick = new EventTrigger.Entry();
myClick.eventID = EventTriggerType.PointerClick;
myClick.callback.AddListener(click);
EventTrigger trigger = gameObject.AddComponent<EventTrigger>();
trigger.triggers.Add(myClick);
}
public void MyClick(BaseEventData data)
{
Debug.Log("自己写的evnt trigger");
}
}
Toggle 控件
监听Toggle。
public Toggle toggle;
toggle.onValueChanged.AddListener((bool value)=>OnToggleClick(toggle,value));
public void OnToggleClick(Toggle toggle,bool value)
{
Debug.Log("toggle change"+(value?"On":"Off"));
}
slider滑动条
scrollbar滚动条
NGUI
面板滚动:
父物体Clipping加ScrollView脚本,子物体加 DragScrollView脚本,脚本参数为父物体。(注意锚点,锚点挂住无法滑动)
添加Button的方式:
新建gameObject,然后添加Button脚本 或者在
Toogle和开关
添加Toogle脚本和BoxCollider2D,3D的不行。