如何在Y轴上旋转对象?

时间:2019-02-19 09:41:19

标签: c# unity3d

我正在尝试制作一个带有“旋转”地球的游戏,但我不知道如何旋转...这是我到目前为止所获得的,将不胜感激:

using UnityEngine;

public class Earth_Rotation : MonoBehaviour
{
     // Update is called once per frame
     void Update()
     {
     Transform.Rotate (0, 10, 0);
     }
}

1 个答案:

答案 0 :(得分:1)

您需要在对象转换组件上调用Rotate()方法。大写Transform引用Transform类本身,小写transform引用此对象的变换组件实例。如果要操作对象,则脚本要附加到脚本中,并需要小写的transform。我建议您查看此链接以了解类和对象:Class and Object - GeeksforGeeks

此外,如果您希望对象翻转时间,则需要在某个地方引用时间。这可以通过Time.deltaTime来实现,它返回自Unity的最后一帧以来经过的时间。尝试这样的事情:

void Update()
{
    //Vector3.up is a vector that looks like this: (0,1,0)
    transform.Rotate(Vector3.up * Time.deltaTime);
}

您还可以添加诸如public float turnSpeed之类的修饰符,然后乘以该修饰符以提高或降低对象的旋转速度:

public float turnSpeed;

void Update()
{
    transform.Rotate(Vector3.up * Time.deltaTime * turnSpeed);
}

如果您设置turnSpeed = 10,则具有原始值。

请始终查看documentation中您要使用的功能。了解如何以及在何处使用它们很有帮助。