汇总一下游戏开发时常用的unityAPI
transform 变换(属性)
translate 平移
Instantiate() 实例化方法 使加载的物体生产出来
position 位置 LocalPosition 子物体相对于父物体的位置
split 分割 string[] s=ShowText.text.Split(new char[]{'/'}) 以 / 为分割点,分割为两个值
GetComponent 获取组件
GetComponentInChildren 获取子物体身上的组件
AddComponent 给物体添加组件
Panel.gameObject.SetActive(true); 显示面板
Panel.gameObject.SetActive(false); 隐藏面板
Button.onClick.Addlistener 给按钮添加点击事件
Button.onClick.Addlistenter(delegate () {事件} ) 固定格式:绑定传参方法的事件
SceneManager.LoadScene(要跳转的场景); 场景跳转方法
Radom.Range() 随机数
Input.GetKey(KeyCode,W) 获取键盘按键
Iuput.GetMouseButton( ) 获取鼠标按键0是左 1是右
AddForce( Vector3.up,ForceMode.VelocityChange ) 点击鼠标的力越大给物体的力也就越大
AddForce(new Vector2(0f,50f)) 给2D物体添加力
UI.GetComponent<RectTransform>().anchoredPosition3D 设置UI组件的anchoredPosition3D的坐标
ToString(); 把前面的数字或文本转换为字符串
char[] chr=str.ToCharArray(); 把str字符串转换为字符型数组chr
return(num1>num2) ? num1 : num2; 如果第一个数大于第二个数,返回第一个数;否则,返回第二个数
transform.Rotate(0,speed*Time.deltaTime,0); 物体以y轴为中心旋转
transform.eulerAngles=new Vector3(0,0,0) 设置物体旋转角度
LocalEulerAngles 子级相对于父级的角度
OnTriggerEnter(Collider other) 碰撞检测固定方法格式需要开启触发器
OnCollisionEnter 碰撞检测方法,只要发生碰撞就能触发
Transform.parent 找爹
static 脚本名 Instance; 创建单例
Instance=this 实例化自己
Input.mousePosition 获取鼠标在屏幕上点击的位置
Camera.main.ScreenToWorldPoint(Input.mousePosition) 获取鼠标世界坐标
GetAxis("Mouse X") 获取鼠标的轴向
GameObject.Find(" ") 能够找到层级视窗内的所有物体
Time.Scale=0 时间暂停 Time.Scale=1 开始
Amin.speed=0 动画暂停 Amin.speed=1 动画开始 Amin(定义动画类型名称)
AudioSource.PlayClipAtPriont(音频,transform.position) 音频播放
创建AudioSource组件 添加音效 按钮添加点击事件 按钮点击播放音效
Vector3.Lerp 物体差值移动 又叫平滑移动
PiontWay = GameObject.FindGameObjectsWithTag("WayPoint"); //寻找所有的路径点对象
Mathf.Clamp(a,min,max) 设置a的最大值最小值
setDestination 设置自动寻路目标
NavMeshAgent 声明寻路组件
/# 关于文件的操作 #
List<数据类型>变量名=new List<数据类型>(); 列表的定义格式
count 最大长度
Application.dataPath+@"/Resources/AccountData.txt" 存储文件路径
FileInfo FileInfo= new FileInfo(Path); 按照路径创建文本
StreamWriter SW=Fileinfo.Createtext(); 把文本写入数据流
AssetDatabase.Refresh 刷新unity
TextAsset TA = Resources.Load("文件名") as TextAsset; 加载文本(读取)
Ad=JosnMapper.ToObject<AcconutDataList>(JosnStr); 转换为链表形式 JosnStr是文本转化成字符串(string JosnStr=TA.text)
GameObje[] go 定义一个GameObject数组
GameObject[,] go 二维数组
//# 射线检测 #
Ray ray=Camera.main.ScreenpointRay(Input.mousePosition); // 射线
RaycastHit hit; //如果射线发射出去之后有在规定范围,层,碰到任何物体 都会返回这个值
bool ISHit=Phyiscs.Raycast(ray,out Hit,1000,layer.GetMask("cube")) //如果碰到cube IsHit为真;
if (ISHit && !EventSystem.current.IsPointerOverGameObject()){} //防止UI穿透
if(IsHit){ }