纳金网

标题: Unity代码汇总(转载) [打印本页]

作者: 狂风大尉    时间: 2014-7-29 21:45
标题: Unity代码汇总(转载)
父子节点相关的:
parent 变量表示Transform的父节点
root 表示它的根节点,如果没有父节点,它会返回自己
Transform Find(string name) 根据名字查找子节点
bool IsChildOf(Transform node) 判断该Transform是否某Transform的子节点
void DetachChildren() 解除所有子节点的父子关系

1.通过名字找物体
   GameObject.Find("Player")

2.通过名字寻找物体子集
          transform.FindChild("物体子集名字")

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次


作者: hyui    时间: 2014-7-29 22:02
Thanks for share this !
作者: xizhenlong    时间: 2014-7-30 08:33
好                              
作者: ♂杰→Тāo〇    时间: 2014-7-31 14:38
好帖子
作者: Mr.Fair    时间: 2014-8-14 15:03
Learning .....
作者: ucgqqqqgoi    时间: 2014-8-14 15:48





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5