我编写了类卡的功能,它应该及时围绕其Y轴旋转卡。
public IEnumerator RotateCard(float angle)
{
if(rotating)
yield break;
rotating = true;
float newAngle = curRotation.y + angle;
while(curRotation.y < newAngle)
{
curRotation.y = Mathf.MoveTowards(curRotation.y, newAngle, rotateSpeed * Time.deltaTime);
transform.eulerAngles = curRotation;
yield return null;
}
rotating = false;
}
我必须在Card.OnMouseDown()中调用此函数:
IEnumerator OnMouseDown()
{
print ("Card clicked");
yield return StartCoroutine( RotateCard(180));
yield return StartCoroutine(gameManager.actionDeck[0].RotateCard(180));
}
其中gameManager是包含卡片actionDeck列表的对象。
第一次调用执行的功能是什么 - 围绕其Y轴旋转卡 另一方面,第二次呼叫围绕一些奇怪的点旋转卡。
任何想法为什么以及如何使其以与#1相同的方式工作?
答案 0 :(得分:0)
您是否尝试使用transform.localEulerAngles?