球体在接收到A命令后,显示倒计时三秒,下落
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TestInTime : MonoBehaviour {
private Vector3 OriginPosition;
private bool isStart = false;
int countdown = 3;
public Text TimeText;
/// <summary>
/// 点击事件(包含手势点击和Clicker设备的点击)
/// </summary>
private void dropBall()
{
// 为Cube增加刚体,产生掉落效果
if (!this.GetComponent<Rigidbody>())
{
var rigidbody = this.gameObject.AddComponent<Rigidbody>();
rigidbody.collisionDetectionMode = CollisionDetectionMode.Continuous;
}
}
// Use this for initialization
void Start()
{
}
//协程:异步倒计时
private IEnumerator ChangeTime()
{
while (countdown > 0)
{
yield return new WaitForSeconds(1);// 每次 自减1,等待 1 秒
countdown--;
TimeText.GetComponent<Text>().text = ""+(countdown+1);
}
//倒计时执行结束,球下落
dropBall();
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.A))
{
StartCoroutine(ChangeTime());
}
}
}
改变不了字体的颜色,在颜色条显示正常,但是字体颜色就是不改。
解决方案:
new material->shader:GUI:TextShader