【Unity】常用代码(一)

父子节点相关的:
parent 变量表示Transform的父节点
root 表示它的根节点,如果没有父节点,它会返回自己
Transform Find(string name) 根据名字查找子节点
bool IsChildOf(Transform node) 判断该Transform是否某Transform的子节点
void DetachChildren() 解除所有子节点的父子关系

 

1.通过名字找物体

   GameObject.Find("Player")

2.通过名字寻找物体子集

          transform.FindChild("物体子集名字")

查找隐藏物体

你可以把”map”节点放在一个active = true的MapRoot上,无论是关闭 或者 显示 代码中写起来都很方便。 假如你的map节点就是顶级节点,那么它一旦天生acive = false ,那么你将无法得到它的对象,更无法设置它的属性了。

GameObject root = GameObject.Find("MapRoot");

GameObject map = root.transform.Find("map").gameObject;  

map.SetActive(true);


3. 显示和隐藏物体

         gameObject.SetActive(true);  

4.使用和关闭物体代码

       gameObject.GetComponent<代码名字>().enable=true;


5.按下动画事件 if (Input.GetMouseButton(0))

     按下事件   if (Input.GetMouseButtonDown(0))

     抬起事件   if (Input.GetMouseButtonUp(0))


6.销毁一样标签的物体

     GameObject [] objs = GameObject.FindGameObjectsWithTag("标签名");

     foreach(GameObject obj in objs){

           Destroy(obj);

     }

7.物体水平匀速移动

      transform.Translate(-0.1f*Time.deltaTime,0,0);

 

8.<<是除以2,>>是乘以2


9.位置相关的: 5个和位置相关的Vector3类型变量
     up 表示世界坐标的Y轴方向
    right 表示世界坐标的X轴方向
    forward 表示世界坐标的Z轴方向
    position 表示对象在世界坐标系中的位置
    localPosition 表示对象相对父节点变换的坐标位置

 

10.改变物体颜色

    obj.renderer.material.color=Color.red

 

11. 2个Quaternion类型的变量
    rotation 在世界坐标系中的旋转角度,是一个Quaternion对象(四元数)
    
localRotation 相对于父节点的旋转角度

 

12.父子节点相关的:
   parent 变量表示Transform的父节点
   
Transform Find(string name) 根据名字查找子节点
   
bool IsChildOf(Transform node) 判断该Transform是否某Transform的子节点
   
void DetachChildren() 解除所有子节点的父子关系

 

13.鼠标:

     Input.mousePosition表示鼠标当前的像素位置(坐标系如何?以左下角为原点)
 
 
    接下来这三个函数的参数,0左键,1右键,2中键
  
    GetMouseButton 对应的键处于按下状态时返回true
  
    GetMouseButtonDown 对应的键被按下时返回true
  
    GetMouseButtonUp 对应的键弹起时返回true

14.

   OnMouseDown 当鼠标点击到对象的时候回调
  
OnMouseDrag 当鼠标拖拽对象时调用,在Ignore Raycast层上无效
  
OnMouseEnter 当鼠标进入对象时调用
  
OnMouseExit 当鼠标离开对象时调用
  
OnMouseOver 当鼠标停留在对象上面时调用
  
OnMouseUpAsButton 鼠标在同一个对象上按下,并弹起时调用
  
OnMouseUp 跟楼上一样

15.     gameObject.transform.rotation

           = new Quaternion (Player.transform.rotation.x, Player.transform.rotation.y, Player.transform.rotation.z, Player.transform.rotation.w);

       gameObject和Player旋转角度一样!

16.  俩个物体之间的距离 float Distance

       float Distance = Vector3.Destance(position1,position2);

17. 如果玩家和敌人的距离小于10,执行{}代码

    if( Vector3.Destance(敌人.position,玩家.position)<10f){

             //  执行相应代码

    }

18.Animation动画

      01.倒回播放 Animation.Rewind();

      02.停止所有动画 Animation.Stop();

          停止动画 Animation.Stop(“动画名字”);

      03.使用动画循环模式 Animation.WropMode= WropMode.loop;

       04.等待动画播放完成 animation.Play();     yiel WaitForSeconds (animation.Clip.Length);

      05.打印动画长度 print(animation["动画名字"].Length);

19.数组

      foreach(Texture2D[] ta in 当前数组){

              数组长度+=ta.Length; //  加载数组的长度

      }

20.切换关卡的时候,this不移除(this=脚本赋予的对象)

          DontDestoryOnLoad(this);

21.while  是先判断条件,再执行语句。   0

   do  while  是先执行,再判断语句。   1

 

你可能感兴趣的:(unity)