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(时间,状态)方法会调用相应的状态