using UnityEngine; using System.Collections; using UnityEngine.UI;
//在短时间(基数为2s)内关闭绑定该脚本的物体 public class TimeToClose : MonoBehaviour { /// /// 状态提示:[0]登陆成功;[1]登陆失败;[2]登陆中;[3]账号或者密码不能为空;[4]账号长度不足;[5]60s倒计时 /// [6]用户名不能为空;[7]两次密码输入不一致;[8]不属于手机号;[9]验证码错误 /// [10]密码不正确;[11]两次密码不一致;[12]修改密码成功;[13]修改密码失败 /// public GameObject[] States = new GameObject[14]; //需要显示的时长 public static float showTime = 2; //需要开启的图片 public static int states = 2;
public static bool isClose = false; //计时器 private float timers = 0; //开启物体状态的方法(调用前需要对states和showTime赋值) public void Open(float Opentimes, int Openstate) { showTime = Opentimes; if (Openstate > States.Length - 1) Debug.Log("开启状态的赋值不对"); else states = Openstate; isClose = true; } //开启的子方法 public void OpenThis() { timers = Time.time; //Debug.Log(timers+"!!!"+states); try { States[states].SetActive(true); } catch { Debug.Log("加载不成功"); } } // Use this for initialization void Start () { for (int i = 0; i < States.Length; i++) { States[i].SetActive(false); } } // Update is called once per frame void Update () { if (isClose == true) { OpenThis(); isClose = false; } //当显示时间到了的时候,关闭该图片 if (Time.time - timers >= showTime) { States[states].SetActive(false); } }} 这段代码的作用很简单,适用于一些需要提示的信息。这些信息往往会在需要的时候出现,又会很快消失。用的是最原始的拖动方法,调用Open(时间,状态)方法会调用相应的状态
