unity基础api
2023-04-20 15:05:41 12 举报
AI智能生成
一些unity中常用的api
作者其他创作
大纲/内容
生命周期函数
Start
用于一些实例化的操作
Awake
失活到激活是也会调用
只调用一次,没啥用
Instantiate创建完物体后调用
代替构造函数进行初始化
每个个体调用顺序不确定
用于加载资源
OnEnable
每一次失活激活都会调用
Reset
重置为初设得默认值
用于调用良好得默认值
OnDestroy
游戏或场景销毁
用于物品销毁
查找物体
单个查找
gameobject
Find
FindGameObjectWithTag
FindObjectOfType《》
寻找脚本类型
必须为激活状态
多个查找
object
FindGameObjectsWithTag
返回值为game object【】
等等
Vector2结构体
magnitude
模长(长度)
sqrMagnitude
模长的平方
normalized
单位化向量(方向)
只保留一位小数
类方法
Vector2.Distance(va,vb)
两点距离
Equals(Vector2)
是否相等(bool)
Vector2.Angle(va,vb)
夹角度数
va指向vb
SignedAngle(va,vb)
以逆时针为正方向的夹角度数
Dot(va,vb)
点积
Max(va,vb)
取各自在x,y轴上的最大值组成新向量
Min(va,vb)
同理
Scale(va,vb)
分量相乘得到新向量
SmoothDamp(va,vb,ref currentVelocity,time)
平滑阻尼移动ref为速度
Lerp
Lerp(va,vb,float)
0指向(va指向vb*float)
a+(b-a)*float
float==0
va
float==1
vb
LerpUnclamped(va,vb,可以-1)
a+(b-a)*float
MoveTowards(va,vb,maxDistance)
将va移向vb
步频为maxDistance
向量分量会化成不超过一位的小数
message
sendmessage(“方法名”)
给自身所有组件发消息
重载可带参数
BroadcastMessage
像所有子对象包括自身发送消息
SendMessageUpwards
向上发送消息
Time
一些参数
deltatime
fixedDeltaTime
物理固定更新时间间隔
fixedTime
自游戏启动以来的时间(以物理更新时间累计计算)
time
游戏开始以来总时间(deltatime)
realtimeSinceStartup
游戏开始一来的实际时间
smoothDeltaTime
经过平滑处理的deltaTime的时间
timeScale
时间流逝的标度,可以用来慢动作(特殊视角设置)
timeSinceLeveLoad
自加载上一个关卡以来的时间
Mouse
OnMouseDown
在挂载了该物体的地方按下鼠标
OnMouseUp
先进入Down才可以在其他地方Up
OnMouseDrag
拖拽操作
OnMouseEnter
鼠标移入了物体身上
OnMouseExit
鼠标在物体身上移出
OnMouseOver
鼠标悬停在物体上
OnMouseUpAsButton
鼠标在物体身上松开
Invoke
正常使用字符串
InvokeRepeating("方法名",第一次调用时间,重复时间)
CancelInvoke("方法名")
停止协程
CancelInvoke()
停止所有方法
IsInvoking("方法名")
是否有该协程
AudioSource
音频文件名为Audioclips
Play()
开始播放
mute
bool静音变量
volume
音量
pitch
音高,尖锐,低沉
Pause
暂停
UnPause
恢复播放
Stop
停止
PlayOneShot
播放一次
和背景音效不冲突
PlayClipAtPoint
在某点播放音乐
会创建一个音乐对象
场景管理SceneManager
using Unityengine.SceneManager
LoadScene(int)
加载场景
LoadScene("场景名")
LoadSceneAsyne()
一般使用这种异步加载
可与协程联用进入加载场景界面
有异步操作器AsyncOperation类型返回值ao
ao.progress为进度(0~1)
ao.allpwSceneActivation
可以在协程一开始就失活
控制是否跳转场景
创建物体
new
创建空物体
Instantiate
创建预制体
CreatePrimitive
创建原始几何体
激活状态
gameobject.activeInHierarchy
gamobject.activeSelf
enable针对组件
是否启用BeHavior
SetActive针对物体
tranform
rotation四元数
erlerAngles欧拉角
localPosition
相对坐标
localRotation
相对四元数
localerlerAngles
相对欧拉角
localScale
相对缩放
GetSilingIndes
索引位置
Translate(V3,space。world)
space控制坐标系
Input
GetAxisRaw
没有渐变
GetAxis
“Mouse X”
鼠标水平移动增量
“Mouse Y”
鼠标垂直移动增量
GetButton
比如说鼠标左键“Fire1”
GetButtondown
执行一次
GetButtonUp
GetMouseButton
0
左键
1
右键
2
滚轮
Animator
Play("动画名")
播放动画
Speed
播放速度
Setxxx
设置值
Getxxx
获得值
CrossFade
(“状态名”,淡入时间)
对2D影响不大,主要用于3D
渐变播放
以单位1为时间淡入
CrossFadeInFixedTime
实际时间淡入
mathf
Deg2Rad
度到弧度换算
Rad2Deg
弧度到度换算
Infinity
表示正无穷大
NegativeInfinity
表示负无穷大
PI
Π的表示
Abs(f)
绝对值
Aco(弧度)
反余弦
Floor
小于等于的整数(f)
FloortoInt
int类型
Lerp
线性插值
LerpUnclamped
可为负数
Movetowered
(A,B,Speed)
由A到B
Random
rotation
随机四元数
eulerAngeles
转换成欧拉角
value
随机0~1f
insideUnitCircle
随机单位圆内坐标
Range
整数不包含右边值
浮点包含
state
随机数生成器的状态
Quaternion
Euler(eulerAngeles)
欧拉角转换为四元数
协程
IEnumerator XXX(){}
StartCoroutine("方法名")
开启协程
StartCoroutine(XXX())
yield reture new WaitForSeconds(f);
暂停几秒
yield return null
等待一帧
yield return new WaitForEndOfFrame
在本帧帧末执行
StopCoroutine()
注意重载要对应,不然没用
IEnumerator 同样可以定义,将方法名赋值
可以调用StopCoroutine(ie)
StopAllCoroutines
停止所有协程
yield break
跳出协程
Rigidbody
gravityScale
重力系数
MovePosition
想要移动的方位
注意使用FixedUpdate
注意使用Fixeddeltatime
AddForce(a,b)
b为力的方式
0为持续发力
1为瞬间力
ForceMode2D
Impulse
瞬间力
a为力的方向数值,Vector2
velocity
vector2格式的速度
MoveRotation(角度)
控制旋转
只适用2D刚体
资源加载
版本更新会丢失引用,所以要使用资源加载
Resources
Load<资源类型>(路径)
文件夹不可以改名字
新建一个Resources文件夹
路径例如"sound"
@"prefabs/123"
Load("路径")
需要赋值给Object对象比如obj
再转换成需要的类型
比如AudioClip ac = obj as AudioClip
或者强转(AudioClip)obj
LoadAll<>()
返回数组
LoadAsync
异步加载
UnloadAsset
从内存中卸载资源
收藏
0 条评论
下一页