我正在开发一款2D平台游戏,我希望在这张游戏中拥有一个像这个图像中的旋转平台。
http://thegamedesignforum.com/features/WEBSMW/RDSMW4/d13.png
我对此的第一个想法是将一个父对象和一个平台作为该对象的子级,以及一个将旋转父对象的脚本。然而,这将最终使平台的z轴旋转,所以我需要一些能够使平台围绕父对象旋转的东西,但是使平台的旋转保持不变。
我发现的一个解决方案是以下脚本:
using UnityEngine;
using System.Collections;
public class Rotator : MonoBehaviour
{
public Vector3 rotator;
public Transform platform;
Quaternion offset;
void Start ()
{
offset = transform.rotation;
}
void Update ()
{
platform.rotation = offset;
transform.Rotate(rotator * Time.deltaTime);
}
}
这有效,但有一个问题:平台(as seen here)围绕父对象旋转,但也有一点倾斜。我不希望它有任何倾斜。
另一个有趣的事情是我设置的旋转速度越高,平台倾斜的越多。你能告诉我为什么会这样,并且可能会为拥有一个旋转平台提供更好的解决方案吗?