2
我有一个球员,我使用下面的脚本旋转。它旋转播放器20度,而不是10(我需要10)。不明白为什么。当我按q
时,它只执行一次。脚本旋转对象比我需要的更多
private UnityStandardAssets.Characters.FirstPerson.FirstPersonController firstPersonController;
public GameObject player;
void Start()
{
firstPersonController = player.GetComponent<UnityStandardAssets.Characters.FirstPerson.FirstPersonController>();
}
void Update()
{
StartCoroutine("RotatePlayerDelay");
}
IEnumerator RotatePlayerDelay()
{
Debug.Log("1");
firstPersonController.m_MouseLook.myAngle += 10; // here I have +20, not +10
yield return new WaitForSeconds(0.005f);
firstPersonController.m_MouseLook.myAngle = 0;
Debug.Log("2");
}
附:我需要协同程序,因为没有它,它将永远旋转
这有点难以给出答案而不知道FirstPersonController类和MouseLook类。我也很确定你不需要一个协程,而是像“isAiming”或“isFacingTarget”这样的布尔值。顺便说一句:协程是开始每帧看起来不可取的。 – Wipster