2015-06-09 118 views
0

所以我得到了這個代碼來實例化我的遊戲對象加農炮,女巫有一個小孩「球」附加到它。當我使用我的左/右箭頭鍵時,我試圖旋轉「大炮」周圍的「球」。旋轉一個帶有子對象的遊戲對象(Unity 2D)

using UnityEngine; 
using System.Collections; 

public class NewBehaviourScript : MonoBehaviour { 

    public GameObject Cannon = null; 
    public float speed = 1.0f; 

    void Start() { 
     Cannon = Instantiate (Resources.Load ("Prefabs/Cannon")) as GameObject; 
    } 

    // Update is called once per frame 
    void Update() { 

     if (Input.GetKey(KeyCode.LeftArrow)){ 
      Cannon.transform.Rotate(Vector3.left * speed * Time.deltaTime); 
     } 
     if (Input.GetKey(KeyCode.RightArrow)){ 
      Cannon.transform.Rotate(Vector3.right * speed * Time.deltaTime); 
     } 
    } 
} 
+0

但是你遇到的問題是什麼? –

回答

3

沒有Vector3.left,這將是Vector3.right的逆,因此您只需將其寫爲「-Vector3.right」即可。但無論如何,你不應該通過你想旋轉的方向vector3在,但你想旋轉的軸。在這種情況下,您可以將Vector3.up用於兩個參數,並且使用「* speed」作爲一個參數,而使用「* -speed」作爲另一個參數。

+0

實際上有,不確定這是否因爲您發佈您的迴應或更改發生了變化:https://docs.unity3d.com/ScriptReference/Vector3-left.html – KenSchnetz