通过汽车运动使雷达动态移动

时间:2015-10-16 21:50:16

标签: c# unity3d

所以我正在进行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));
    }
}

我想如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

感谢Jerdak,我已经解决了这个问题。我已将transform.Rotate()更改为transfer.eurlerAngles并将YAxis中的值乘以100以得到更大的数字,以便指南针实际移动,这已经成功了:)