使用协程实现路障动画效果。
路障本身是两个模型,我们要控制子模型进行上下位移。
public class Spike : MonoBehaviour
{
private Transform splikObj;
private Vector3 UpPos;
private Vector3 DownPos;
void Start()
{
splikObj = transform.GetChild(0).GetComponent<Transform>();
UpPos = splikObj.position + new Vector3(0,-0.249f,0);
DownPos = splikObj.position;
StartCoroutine("UpAndDown");
}
private IEnumerator UpAndDown()
{
while (true)
{
StopCoroutine("Down");
StartCoroutine("Up");
yield return new WaitForSeconds(2.0f);
StopCoroutine("Up");
StartCoroutine("Down");
yield return new WaitForSeconds(2.0f);
}
}
private IEnumerator Up()
{
while (true)
{
splikObj.position = Vector3.Lerp(splikObj.position, UpPos, Time.deltaTime * 10);
yield return null;
}
}
private IEnumerator Down()
{
while (true)
{
splikObj.position = Vector3.Lerp(splikObj.position, DownPos, Time.deltaTime * 10);
yield return null;
}
}
}