void Start () {
StartCoroutine(ChangeColor());
StartCoroutine(TakeDamage(1, 5));//每隔一秒伤害一次,共伤害5次
}
IEnumerator ChangeColor()
{
//等到这一帧结束
yield return new WaitForEndOfFrame();
//等待50帧
for (int i = 0; i < 50; i++)
{
yield return new WaitForEndOfFrame();
}
//等待2s
yield return new WaitForSeconds(2f);
GetComponent<Renderer>().material.color = Color.red;
}
/// <summary>
/// 持续伤害效果
/// </summary>
/// <param name="timeOff">时间间隔</param>
/// <param name="count">伤害次数</param>
/// <returns></returns>
IEnumerator TakeDamage(float timeOff, int count)
{
for (int i = 0; i < count; i++)
{
yield return new WaitForSeconds(timeOff);
print("对敌人造成伤害");
}
}