最近在做一个小游戏开始的时候需要用到倒计时的效果,具体效果为每秒显示3,2,1,GO,然后字体由大到小,透明度由浅到深。下面介绍三种方法。
1.最直接的方法,自己写倒计时的函数,开协程改变字体大小和透明度,这种方法较为简单,下面是我写的代码,其中state为需要改变的Text的text组件
public void WaitForBegin(int time)
{
StartCoroutine(waitForBegin(time));
}
IEnumerator waitForBegin(int time)
{
float second = 1f;
Color color=new Color(0, 0, 0, 1);
while(time>0)
{
State.text = time.ToString();
while (second > 0)
{
second -= Time.deltaTime;
State.fontSize++;
State.color -= new Color(0, 0, 0, Time.deltaTime);
yield return new WaitForEndOfFrame();
}
second = 1f;
time--;
State.color +=color;
State.fontSize = St