Unity 3D 360转向SpaceShip

时间:2016-09-23 12:46:35

标签: c# unity3d

所以我昨天对Unity,Installed Unity来说是全新的,想要制作一个简单的游戏让自己开始...... 所以我试图通过旋转来转动3D立方体,同时向上和向下移动立方体。

我发现在网上进行2D教程后我正在做的事情,但似乎它从来没有在3D中作为我的立方体而不是旋转,要么试图倾斜或不要移动(改变zy和x在旋转)

这是我的代码,任何帮助都会受到赞赏,或者指导一个很好的教程,我将会很棒!

public class Movement : MonoBehaviour {
    float maxSpeed = 4f;
    float rotSpeed = 180f;  

    void Update () {
        //ROTATE SHIP
        Quaternion rot = transform.rotation;
        float x = rot.eulerAngles.x;
        x += Input.GetAxis ("Horizontal") * rotSpeed * Time.deltaTime;
        rot = Quaternion.Euler (0, 0, x);
        transform.rotation = rot;

        //MOVE SHIP
        Vector3 pos = transform.position;
        pos.z += Input.GetAxis ("Vertical") * maxSpeed * Time.deltaTime; 
        transform.position = pos;
    }
}

1 个答案:

答案 0 :(得分:4)

更改此行:

rot = Quaternion.Euler (0, 0, x);

到这一行:

rot = Quaternion.Euler (x, 0, 0);

您正在拍摄原始x并将其指定为z;