【发布时间】:2015-06-29 11:39:30
【问题描述】:
我是 Unity 新手。我想围绕 z 轴旋转一个简单的平面。问题是当平面旋转超过 360 度时,它不再旋转。
这是我的代码:
private float a;
private bool clicked = true;
void Update() {
if(clicked)
{
if(Input.GetMouseButtonDown(0))
{
StartCoroutine(rotasi ());
}
}
}
IEnumerator rotasi()
{
var a = transform.eulerAngles.z+30;
while(true)
{
if(transform.eulerAngles.z < a)
{
transform.rotation = Quaternion.Lerp(transform.rotation,Quaternion.Euler(new Vector3(0,0,a)),Time.deltaTime*30f);
clicked = false;
yield return null;
}
StartCoroutine(wait());
yield return 0;
}
}
IEnumerator wait()
{
yield return new WaitForSeconds(.2f);
clicked = true;
}
【问题讨论】:
-
请不要使用
unity标签来回答与 Unity 游戏引擎相关的问题。有unity3d标签。