Unity组件脚本的常用类和结构体GameObject
生活随笔
收集整理的這篇文章主要介紹了
Unity组件脚本的常用类和结构体GameObject
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、GameObjctClasses
#region this :當前腳本所掛組件//this :當前腳本所掛組件//獲取當前組件所掛載的游戲對象// this.gameObject//獲取當前組件所掛載的游戲對象的Transform組件// this.transform//當前對象的名字// this.name//當前對象的標簽// this.tag//當前腳本的可用性// this.enabled = true;#endregion#region GameObject#region Static Methods//通過名字去找對象//性能消耗較大// GameObject obj = GameObject.Find("Cube");//通過標簽去找對象//性能消耗較小// GameObject player = GameObject.FindWithTag("player");//通過標簽去找一堆對象// GameObject[] enemys = GameObject.FindGameObjectsWithTag("Enemy");#endregion#region Member 成員//游戲對象的激活狀態【只讀】Debug.Log("activeSelf: "+ gameObject.activeSelf);//設置游戲對象的我激活狀態// gameObject.SetActive(false);//給當前游戲對象添加組件// GameObjctClasses component = gameObject.AddComponent<GameObjctClasses>();//獲取組件// gameObject.transform.gameObject.transformMeshRenderer meshRenderer = gameObject.GetComponent<MeshRenderer>();//修改組件屬性或調用組件方法,從而實現功能meshRenderer.material.color = Color.red;// meshRenderer.gameObjecttransform.GetComponent<MeshRenderer>();#endregion#endregion#region example 操作其他對象的例子GameObject player = GameObject.FindWithTag("Player");MeshRenderer component = player.GetComponent<MeshRenderer>();component.material.color = Color.cyan;#endregion2、Transformclass
//旋轉速度//public字段的初值是第一次編譯成功后,顯示在面板上的值public float rotateSpeed = 3f;//移動速度public float moveSpeel = 3f;//目標對象public GameObject target;#region Transform:控制游戲對象的變幻private void Awake(){//當前游戲對象的世界坐標Debug.Log("position: "+transform.position);//當前游戲對象的相對于父物體的坐標【本地】Debug.Log("localPosition: "+transform.localPosition);//當前游戲對象的世界旋轉【歐拉角】Debug.Log("eulerAngles: "+ transform.eulerAngles);//當前游戲對象的相對于父物體的旋轉【本地】【歐拉角】Debug.Log("localEulerAngles: "+ transform.localEulerAngles);//當前游戲對象的世界旋轉【四元數】Debug.Log("rotation: "+ transform.rotation);//當前游戲對象的相對于父物體的旋轉【本地】【四元數】Debug.Log("localRotation: "+ transform.localRotation);//當前游戲對象的世界縮放Debug.Log("Scale: "+ transform.localScale);//移動位置// transform.Translate(new Vector3(0,0,3));transform.position += new Vector3(0, 0, 3);}#endregion// Start is called before the first frame update#region Transform:管理游戲對象層級關系void Start(){//當前對象獲取或設置父對象Debug.Log("parent: "+transform.parent);//設置父對象transform.SetParent(Camera.main.transform);//當前對象獲取根對象//沒有父對象,根對象為自己Debug.Log("root: "+transform.root);//獲取當前對象子對象的個數Debug.Log("子對象的個數:"+ transform.childCount );//獲取當前對象子對象Debug.Log(transform.GetChild(0));//遍歷所有子對象for (int i = 0; i < transform.childCount; i++){Debug.Log(transform.GetChild(i));}//找子對象中的一個,非激活也可以找到transform.Find("name");//找子對象的子對象transform.Find("name1/name2");}#endregion// Update is called once per framevoid Update(){//移動位置// transform.Translate(new Vector3(0,0,0.03f));// transform.position += new Vector3(0, 0, 0.03f);//旋轉【自轉】// transform.Rotate(new Vector3(2,0,0));// transform.eulerAngles += new Vector3(2, 0, 0);//旋轉【繞轉】// transform.RotateAround(new Vector3(3,0,0),new Vector3(0,1,0),rotateSpeed);//讓當前對象朝自己的上方移動//transform.forward //自身前方的方向向量// transform.up //自身上方的方向向量// transform.right //自身右方的方向向量// transform.position += transform.up * 0.02f * moveSpeel;//讓對象看向某個目標【紅色的球】//1、找到紅色的球// GameObject target = GameObject.FindWithTag("target");//2、面向它transform.LookAt(target.transform);}```總結
以上是生活随笔為你收集整理的Unity组件脚本的常用类和结构体GameObject的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【软件开发底层知识修炼】十二 C/C+
- 下一篇: halcon/c++接口基础 之异常处理