想要从代码中调取到UI控件有很多种方法,这里我就举一种我自己认为最顺手的把。就是在代码中添加一个预设体。代码如下
using UnityEngine;
using UnityEngine.UI;
public class MoveUI : MonoBehaviour
{
public GameObject GameObject;
public Image image;
}
然后把添加该代码的脚本Add Component到你需要的地方,然后就会出现如下图两个框,可以选择你需要控制的控件(可以是UI,也可以是其他)
点选之后可以用变量里的函数控制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<RectTransform>().localPosition = Pos; //设置位置(相对位置)
//GameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(1280, 720); //设置大小
LastTime = Time.time;
}
}
public void LongPress(bool bStart)
{
IsStart = bStart;
LastTime = Time.time;
Pos = new Vector3(0, 0, 0);
}
}