unity3D UGUI学习 (二) 简单UI物体对象

前言

这里不一一罗列属性了,而是用到什么学什么
另外:使用UGUI的对象组件就要引用命名空间

using UnityEngine.UI;//UGUI命名空间

这里创建一个脚本,拖到CanvasUI对象上使用

Sprite图片制作

因为UGUI没有图集,所以ImageUI的图需要自己做UI图片Sprite,才能拖进Source Image里(包括Raw Image的)。
在网上下一个图片拖入工程,点击图片,查看检视面板
1
选则Sprite后要点击Apply一下

脚本代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//UGUI命名空间

public class UGUITest : MonoBehaviour {

    private Text _text;
    private Image _image;
    private RawImage _rawImage;
    private Button _button;
    private Toggle _toggle;
    private Slider _slider;
    private Dropdown _dropdown;
    private InputField _inputField;

    void Awake(){

        _text = transform.Find ("Text").GetComponent<Text> ();
        _text.text = "土鳖";

        _image = transform.Find ("Image").GetComponent<Image> ();
        _image.sprite = Resources.Load ("A",typeof(Sprite)) as Sprite;

        _rawImage = transform.Find ("RawImage").GetComponent<RawImage> ();
        _rawImage.texture = Resources.Load ("B", typeof(Texture)) as Texture;

        _button = transform.Find ("Button").GetComponent<Button> ();
        _button.onClick.AddListener (buttonOnClick);

        _toggle = transform.Find ("Toggle").GetComponent<Toggle> ();
        _toggle.onValueChanged.AddListener (toggleClick);

        _slider = transform.Find ("Slider").GetComponent<Slider> ();
        _slider.onValueChanged.AddListener (sliderValue);

        _dropdown = transform.Find ("Dropdown").GetComponent<Dropdown> ();
        _dropdown.onValueChanged.AddListener (dropdownSelect);

        _inputField = transform.Find ("InputField").GetComponent<InputField> ();

    }

    //以拖拽的方式给Button添加点击事件
    public void BtnClick(){
        Debug.Log("拖拽方式事件的触发");
    }

    //代码方式给Button添加点击事件
    private void buttonOnClick(){
        Debug.Log ("代码添加点击事件");
    }

    private void toggleClick(bool b) {
        Debug.Log ("点击了");//b就是toggle.isOn  
        Debug.Log (b);
        Debug.Log (_toggle.isOn);
        if (_toggle.isOn) {
            Debug.Log ("开启音乐");
        } else {
            Debug.Log ("关闭音乐");
        }
    }

    private void sliderValue(float f){
        Debug.Log (f);//f就是slider.value
        Debug.Log (_slider.value);
    }

    //下拉菜单
    private void dropdownSelect(int index){
        Debug.Log (index);// 下标从0开始从上到下递增
        //配合文本使用
        _text.text = _dropdown.options [index].text;
    }
    //输入框,手动添加事件
    public void InputFlieChange(){
        Debug.Log ("输入了..."+_inputField.text);
        //配合文本框使用
        _text.text = _inputField.text;
    }
}

细节注意

  • 图片的获取方式和NGUI不同
    UGUI 需要使用代码获取,NGUI是直接赋值图集的图片名字
_image.sprite = Resources.Load ("A",typeof(Sprite)) as Sprite;
_rawImage.texture = Resources.Load ("B", typeof(Texture)) as Texture;
  • 添加事件检测有2种
    一种是手段拖入
    3

一种是在脚本上代码添加
注意不同的事件有不用的参数要求,如上图的InputFiled输入的事件方法参数类型是string

这里的是DropDownUI物体对象的方法参数是int

    _dropdown.onValueChanged.AddListener (dropdownSelect);

        private void dropdownSelect(int index){
        Debug.Log (index);// 下标从0开始从上到下递增
        //配合文本使用
        _text.text = _dropdown.options [index].text;
    }

猜你喜欢

转载自blog.csdn.net/liaoshengg/article/details/81234513
今日推荐