所以我正在进行2D游戏,它包含雷达和车辆(想想GTA1或GTA2)。我希望雷达相应地移动到汽车的旋转位置(即汽车向北行驶,当汽车向右转时,雷达也会相应地旋转)。我似乎已经让它在一定程度上工作(雷达在车辆移动时移动)但在正确的方向上并没有那么多,并且它达到了雷达一转弯就继续旋转的程度。我目前的脚本如下:
汽车位置脚本
using UnityEngine;
using System.Collections;
public class CarLocation : MonoBehaviour {
public static float XAxis;
public static float YAxis;
public static float ZAxis;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
XAxis = transform.rotation.x;
YAxis = transform.rotation.y;
ZAxis = transform.rotation.z;
}
}
雷达旋转
using UnityEngine;
using System.Collections;
public class RotateRadar : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update ()
{
transform.Rotate(Vector3.forward * (CarLocation.YAxis));
print(Vector3.forward * (CarLocation.YAxis));
}
}
我想如何解决这个问题?
答案 0 :(得分:0)
感谢Jerdak,我已经解决了这个问题。我已将transform.Rotate()更改为transfer.eurlerAngles并将YAxis中的值乘以100以得到更大的数字,以便指南针实际移动,这已经成功了:)