Unity3D基础知识掌握

父子节点相关的:
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次

未经允许不得转载:第一Unity3D » Unity3D基础知识掌握

赞 (0)