因此,我正在制作一个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));
}
}
我在想,我该怎么解决这个问题呢?
发布于 2015-10-18 02:23:51
多亏了Jerdak,我解决了这个问题。我已经将transform.Rotate()更改为transfer.eurlerAngles,并将YAxis中的值乘以100以得到一个更大的数字,以便使指南针实际移动,这就完成了此操作:)
https://stackoverflow.com/questions/33180088
复制相似问题