Unity3D---UGUI---如何用代码调取到UI控件,以及控制UI

想要从代码中调取到UI控件有很多种方法,这里我就举一种我自己认为最顺手的把。就是在代码中添加一个预设体。代码如下

using UnityEngine;
using UnityEngine.UI;

public class MoveUI : MonoBehaviour
 {
    public GameObject GameObject;
    public Image image;
}

然后把添加该代码的脚本Add Component到你需要的地方,然后就会出现如下图两个框,可以选择你需要控制的控件(可以是UI,也可以是其他)


Unity3D---UGUI---如何用代码调取到UI控件,以及控制UI_第1张图片

点选之后可以用变量里的函数控制UI,这里写几个例子,代码如下

using UnityEngine;
using UnityEngine.UI;

public class MoveUI : MonoBehaviour 
{
    public float Ping;
    private bool IsStart = false;
    private float LastTime = 0;
    public GameObject GameObject;
    public Image image;
    Vector3 Pos = new Vector3(0, 0, 0);
    void Update () 
    {
        if(IsStart && Time.time - LastTime > Ping)
        {
            Debug.Log("开始移动Pos.y"+ Pos.y);
            Pos.y--;
            GameObject.GetComponent().localPosition = Pos;                        //设置位置(相对位置)
            //GameObject.GetComponent().sizeDelta = new Vector2(1280, 720);         //设置大小
            LastTime = Time.time;
        }
    }
    public void LongPress(bool bStart)
    {
        IsStart = bStart;
        LastTime = Time.time;
        Pos = new Vector3(0, 0, 0);
    }
}

你可能感兴趣的:(Unity3D---UGUI---如何用代码调取到UI控件,以及控制UI)