我正在制作一个游戏,其中有一个坦克射击一些物体。 我想在“X”的-90到90度的llimits之间旋转坦克的枪。 我使用了transform.rotate,但它使用一些浮点值(0.0到1.0)旋转枪,我在检查器上看到的旋转是不同的。如何解决这个问题?
答案 0 :(得分:3)
使用Mathf类
下面的代码static float Clamp(float value, float min, float max);
e.g。
var angle = Mathf.Clamp(angle, 90, 270);
Quaternion target = Quaternion.Euler(0, 0, angle); // any value as you see fit
transform.rotation = target;
答案 1 :(得分:0)
我找到了答案,我使用eularAngles限制旋转如下
if((gun.eulerAngles.z<90)||(gun.eulerAngles.z>270))
{
gun.Rotate(0,0,turnAngle);
}