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