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的不行。

Grid 整齐排列

Table 表格排列,多出的列放到新的一行

聊天窗口的制作(box Collider 要换成 2D 的)

聊天窗口的制作

PopupList 下拉列表

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐