我正在制作一個函式,以便我的物件可以轉動。所以我做了這個功能:
void Drehen(){
if(Input.GetAxis("Horizontal") > 0.1){
transform.Rotate(new Vector3(0f, 0f, 0f));
vorne = true;
}
if(Input.GetAxis("Horizontal") > -0.1){
transform.Rotate(new Vector3(0f, 180f, 0f));
vorne = false;
}
}
該函式檢查玩家向前或向后的輸入,并通過 transform.Rotate(new Vector3(0f, 180f, 0f));
現在,每次我開始游戲時,我都可以前進,但是一旦我后退,它就會在每一幀的每一側翻轉。
uj5u.com熱心網友回復:
嘗試使用
transform.eulerAngles = new Vector3(0f, 180f, 0f);
uj5u.com熱心網友回復:
嗯,這很明顯。
Rotate 將物件從當前旋轉角度旋轉給定的量,因此
transform.Rotate(0,0,0);
完全什么都不做
transform.Rotate(0,180,0);
你每幀將它旋轉 180°。
你想要的可能是例如
transform.rotation = Quaternion.Euler(0, 180, 0);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/403885.html
標籤:
上一篇:如何從register.cshtml和register.cshtml.cs中的AspNetRoles表構建下拉串列?
下一篇:物體錯誤地與跟蹤EFCore分離
