Unity常用事件函数与变量

一、常用必然事件

Awake:脚本实例被创建时调用(用于游戏对象的初始化,注意Awake的执行早于所有脚本的Start函数)

Start: Update函数第一次运行之前调用(用于游戏对象的初始化)

Reset: 用户点击检视面板的Reset按钮或者首次添加该组件时被调用。此函数只在编辑模式下被调用。Reset最常用于在检视面板中给定一个最常用的默认值。

Update:每帧调用一次(用于更新游戏场景和状态)

FixedUpdate:每个固定物理时间间隔调用一次(用于物理引擎的参数更新)

LateUpdate:每帧调用一次,在Update之后(用于更新游戏场景和状态,和相机有关的更新一般放在这里)

二、常用必然事件

OnMouseEnter:鼠标移入GUI控件或者碰撞体时调用

OnMouseOver:鼠标停留在GUI控件或者碰撞体时调用

OnMouseExit:鼠标移出GUI控件或者碰撞体时调用

OnMouseDown:鼠标在GUI控件或者碰撞体上按下时调用

OnMouseUp:鼠标按键释放时调用

OnTriggerEnter:与其他碰撞体进入触发器时调用

OnTriggerExit:与其他碰撞体离开触发器时调用

OnTriggerStay:当其他碰撞体停留在触发器时调用

OnCollisionEnter:当碰撞体或者刚体与其他碰撞体或者刚体接触时调用

OnCollisionExit:当碰撞体或者刚体与其他碰撞体或者刚体停止接触时调用

OnCollisionStay:当碰撞体或者刚体与其他碰撞体或者刚体保持接触时调用

OnControllerColliderHit:当控制器移动时与碰撞体发生碰撞时调用

OnDestroy:脚本销毁时调用

OnGUI:渲染GUI和处理GUI消息时调用

OnBecameVisible:对于任意一个相机可见时调用

OnBecameInVisible:对于任意一个相机不可见时调用

OnEnable:对象启用或者激活时调用

OnDisable:对象禁用或者取消激活时调用

特意找了一张图,来说明各个函数的运行顺序:

三、GameObject类中常用成员变量

name:继承与父类Object,对象的名称

tag:游戏对象的标签tag

layer:游戏对象所在的层layer,范围为[0...31]

activeSelf:游戏对象自身的激活状态

transform:游戏对象上的Transform组件,设置对象位置、旋转、缩放

rigidbody:游戏对象上的Rigidbody组件,设置物理引擎的刚体属性

camera:游戏对象上的Camera组件,设置相机属性

light:游戏对象上的Light组件,设置灯光属性

animation:游戏对象上的Animation组件,设置动画属性

renderer:游戏对象上的Renderer组件,渲染物体模型

audio:游戏对象上的AudioSource组件,设置声音属性

四、GameObject类中常用成员函数

Find:静态函数,根据名称查找游戏对象

FindWithTag:静态函数,根据标签查找第一个符合条件的游戏对象

FindGameObjectsWithTag:静态函数,根据标签查找所有符合条件的游戏对象

CreatePrimitive:静态函数,创建一个基本形体的游戏对象(如正方体,球体等)

SetActive:激活/取消激活游戏对象

GetComponent:获取游戏对象

GetComponentInChildren:获取游戏对象或其子对象上指定类型的第一个组件

GetComponents:获取游戏对象上指定类型的所有组件

AddComponent:为游戏对象添加指定组件

SendMessage:调用游戏对象上所有MonoBehaviour的指定名称方法

SendMessageUpwards:调用游戏对象及其所有父对象上所有MonoBehaviour的指定名称方法

BroadcastMessage:调用游戏对象及其所有父对象上所有MonoBehaviour的指定名称方法

CompareTag:比较游戏对象的标签

五、GameObject类继承自Object类的常用函数

Destroy:删除一个游戏物体、组件或资源

DestroyImmediate:立即销毁物体obj,强烈建议使用Destroy替代

Instantiate:克隆原始物体,并返回克隆的物体

DontDestroyOnLoad:加载新场景的时候使目标不被自动销毁

FindObjectOfType:返回Type类型第一个激活的加载的物体

六、Transform组件常用属性

position:在世界坐标系中,transform的位置

localPosition:相对于父级的变换的位置

eulerAngles:世界坐标系中以欧拉角表示的旋转

localEulerangles:在世界坐标系中物体变换的旋转角度作为Quaternion储存

parent:返回物体变换的父级

root:返回最高层次的游戏物体的变换

七、Transform类中的常用函数

Translate:按指定的方向和距离平移

Rotate:按指定的欧拉角旋转

RotateAround:按给定旋转轴和旋转角度旋转

LookAt:旋转使得自身的前方向指向目标的位置

Find:通过名字查找子物体并返回,返回值类型为transform

IsChildOf:判断是否是指定对象的子对象

TransformDirection:将一个向量从局部坐标系变换到世界坐标系

TransformPoint:将一个位置从局部坐标系变换到世界坐标系

InverseTransformDirection:将一个方位从世界坐标系变换到局部坐标系

InverseTransformPoint:将一个位置从世界坐标系变换到局部坐标系

八、组件相关函数

GetComponent:得到指定名称的组件

GetComponents:得到组件列表(用于有多个同类型组件的时候)

GetComponentInChildren:得到对象或对象子物体上的组件

GetComponentsInChildren:得到对象或对象子物体上的组件列表

九、Time类的成员变量

time:游戏从开始到现在经历的时间(秒)(只读)

deltaTime:上一帧消耗的时间(只读)

fixedTime:最近FixedUpdate的时间,该时间从游戏开始计算

fixedDeltaTime:物理引擎和FixedUpdate的更新时间间隔

timeSinceLevelLoad:此帧的开始时间(只读)。这是以秒计算到最后的关卡已经完成加载的时间

maximumDeltaTime:一帧消耗的最大时间。物理和其他固定帧速率更新

smoothDeltaTime:Time.deltaTime的平滑淡出

timescale:传递时间的缩放,可以用于制作减慢运动效果

frameCount:已渲染的帧的总数(只读)

realtimeSinceStartup:以秒计,以游戏开始的实际时间(只读),该时间不会受timescale的影响

captureFramerate:固定帧率设置

十、Random类的成员变量

seed:随机数生成器的种子

value:返回一个0~1之间的随机浮点数,包涵0,1

insideUnitSpere:返回位于半径为1的球体内的一个随机点(只读)

insideUnitCircle:返回位于半径为1的圆内的一个随机点(只读)

onUnitSphere:返回半径为1的球面上的一个随机点(只读)

rotation:返回一个随机旋转(只读)

rotationUniform:返回一个均匀分布的随机旋转(只读)

十一、Random类的成员函数

Range:返回min和max之间的一个随机浮点数,包涵min和max

Range:返回min和max之间的一个随机整数,包涵min和max

十二、Mathf类的变量

PI: 圆周率π,即3.1415926···(只读)

Infinity: 正无穷大(只读)

NegativeInfinity:负无穷大(只读)

Deg2Rad: 度到弧度的转换系数(只读)

Rad2Deg: 弧度到度的转换系数(只读)

Epsilon: 一个很小的浮点数

十三、Mathf类的常用方法

Sin:计算角度(单位为弧度,下同)的正弦值

Cos:计算角度的余弦值

Tan:计算角度的正切值

Asin:计算反正弦值(返回的角度值单位为弧度,下同)

Acos:计算反余弦值

Atan:计算反正切值

Sqrt:计算平方根

Abs:计算绝对值

Min:返回最小值

Max:返回最大值

Pow:Pow(f,p)返回f的p次方

Exp:Exp(p)返回e的p次方

Log:计算对数

Log10:计算基数为10的对数

Clamp:将数值限制在min和max之间

Clamp01:将数值限制在0~1之间

Ceil:Ceil(f)返回大于或等于f的最小整数

Floor:Floor(f)返回小于或等于f的最大整数

Round:Round(f)返回浮点数f进行四舍五入得到的整数

十四、Input类中的常用变量

mousePosition:鼠位置的像素坐标(只读)

anyKey:是否有按键按下(只读)

anyKeyDown:当有任意按键按下的第一帧返回true(只读)

inputString:得到当前帧的键盘输入字符串

touches:当前所有触摸状态列表(只读)

touchCount:当前所有触摸列表长度(只读)

multiTouchEnable:系统是否支持多点触控

gyro:返回默认的陀螺仪

compensateSensors:是否需要根据屏幕方向补偿感应器

十五、Input类中的常用函数

GetAxis: 根据名称得到虚拟输入轴的值

GetAxisRaw: 根据名称得到虚拟坐标轴的未使用平滑过滤得值

GetButton: 指定名称的虚拟按键被按下,那么返回true

GetButtonDown: 指定名称的虚拟按键被按下的那一帧返回true

GetButtonUp: 指定名称的虚拟按键被松开的那一帧返回true

GetKey: 当指定的按键被按下时返回true

GetKeyDown: 当指定的按键被按下的那一帧返回true

GetKeyUp: 当指定的按键被松开的那一帧返回true

GetMouseDown: 指定的鼠标按键按下时返回true

GetMouseButtonDown:指定的鼠标按键按下的那一帧返回true

GetMouseButtonUp: 指定的鼠标按键松开的那一帧返回true

GetTouch: 返回指定的触摸数据对象

ResetInputAxes: 重置所有输入,调用该方法之后所有方向轴和按键的数值都变为0

GetAccelerationEvent:返回指定的上一帧加速度测量数据(不分配临时变量)

GetTouch: 返回指定的触摸数据对象(不分配临时变量)

十六、Input类中和鼠标输入有关的变量和方法

compensateSensors:是否需要根据屏幕方向补偿感应器

gyro:返回默认的陀螺仪

mousePosition:鼠标位置的像素坐标(只读)

anyKey:是否有按键按下(只读)

anyKeyDown:当有任意按键按下的第一帧返回true(只读)

inputString:得到当前帧的键盘输入字符串(只读)

acceleration:得到设备当前在三维空间中的线性加速度(只读)

accelerationEvents得到上一帧的加速的数据列表(只读)(分配临时变量)

accelerationEventsCount:得到上一帧的加速度参数数据长度

touches:当前所有触摸状态列表(只读)(分配临时变量)

touchCount:当前所有触摸状态列表长度(只读)

multiTouchEnabled:系统是否支持多点触摸

loaction:设备当前的位置属性(仅支持手持设备)(只读)

campass:罗盘属性(仅支持手持设备)(只读)

deviceOrientation:操作系统提供的设备方向(只读)

imeCompositionMode:设置IME组合模式

compositionString:用户通过IME输入的组合字符串

compositionCursorPos:当前IME组合字符串的光标位置

imelsSelected:当前是否启用了IME输入键盘

十七、常用按键的按键名与KeyCode编码

None Not assigned (never is pressed)未分配(永不被按下)。

Backspace The backspace key //退格键。

Delete The forward delete key //正向删除键。

Tab The tab key //制表键。

Clear The Clear key //清除键。

Return Return key //回车键。

Pause Pause on PC machines //PC上的暂停键。

Escape Escape key //退出键。

Space Space key //空格键。

Keypad0 Numeric keypad 0 //数字小键盘0。

Keypad1 Numeric keypad 1 //数字小键盘1。

Keypad2 Numeric keypad 2 //数字小键盘2。

Keypad3 Numeric keypad 3 //数字小键盘3。

KeypadPeriod Numeric keypad '.' // 数字小键盘的句点'.'。

KeypadDivide Numeric keypad '/' // 数字小键盘的除号'/'。

KeypadMultiply Numeric keypad '*' //数字小键盘的乘号 '*'。

KeypadMinus Numeric keypad '-' //数字小键盘的减号 '-'。

KeypadPlus Numeric keypad '+' //数字小键盘的加号 '+'。

KeypadEnter Numeric keypad enter //数字小键盘的回车键。

KeypadEquals Numeric keypad '=' //数字小键盘的等号键'='。

UpArrow Up arrow key //上箭头键。

DownArrow Down arrow key //下箭头键。

RightArrow Right arrow key //右箭头键。

LeftArrow Left arrow key //左箭头键。

Insert Insert key key //插入键。

Home Home key //起始键。

End End key //结束键。

PageUp Page up //上页。

PageDown Page down //下页。

Alpha0 The '0' key on the top of the alphanumeric keyboard.键盘顶部的数字键'0'。

Alpha1 The '1' key on the top of the alphanumeric keyboard.键盘顶部的数字键'1'。

Alpha2 The '2' key on the top of the alphanumeric keyboard.键盘顶部的数字键'2'。

Exclaim Explaim key //感叹号键'!'。

DoubleQuote Double quote key //双引号键。

Hash Hash key //哈希键。

Dollar Dollar sign key //美元符号键。

Ampersand Ampersand key //和, &(and 的符号)键。

Quote Quote key //单引号键。

LeftParen Left Parent key //左括号键。

RightParen Right Parent key //右括号键。

Asterisk Asterisk key //星号键 * 。

Plus Plus key //加号键 + 。

Comma Comma ',' key //逗号键 , 。

Minus Minus '-' key //减号键 - 。

Period Period '.' key //句号键 . 。

Slash Slash '/' key //斜杠键 / 。

Colon Colon ':' key //冒号键 : 。

Semicolon Semicolon ';' key //分号键 ; 。

Less Less '<' key //小于号键 < 。

Equals Equals '=' key //等于号键 = 。

Greater Greater '>' key //大于号键 > 。

Question Question mark '?' key //问号键 ? 。

At At key //@符号键。

LeftBracket Left bracket key //左方括号键 [ 。

Backslash Backslash key //反斜杠键 \ 。

RightBracket Right bracket key //右方括号键 ] 。

Caret Caret key //脱字符键 ^ 。

Underscore Underscore '_' key //下划线键 _ 。

BackQuote Back quote key //反引号键 。

A 'a' key // a键

B 'b' key // b键

C 'c' key // c键

Numlock Numlock key //数字锁定键 。

CapsLock Capslock key //大写锁定键 。

ScrollLock Scroll lock key //滚动锁定键 。

RightShift Right shift key //右上档键。

LeftShift Left shift key //左上档键。

RightControl Right Control key //右控制键。

LeftControl Left Control key //左控制键。

RightAlt Right Alt key //右更改键。

LeftAlt Left Alt key //左更改键。

LeftApple Left Apple key //左苹果键。

LeftWindows Left Windows key //左Windows键。

RightApple Right Apple key //右苹果键。

RightWindows Right Windows key //右Windows键。

AltGr Alt Gr key //右侧更改键。

Help Help key //帮助键。

Print Print key //打印键。

SysReq Sys Req key //系统请求键。

Break Break key //中断键。

Menu Menu key //菜单键。

Mouse0 First (primary) mouse button 第一个(主)鼠标键(鼠标左键)。

Mouse1 Second (secondary) mouse button第二个(次)鼠标键(鼠标右键)。

Mouse2 Third mouse button //第三个鼠标键(鼠标中键)。

注:有些键可以类推的我就不一一列举了~大家以此类推既是。

十八、Random类的成员函数

Range(min,max)返回一个min和max之间的一个随机数

Next() 返回一个大于或等于零而小于2,147,483,647的数

Next(int max)返回一个小于所指定最大值的正随机数

Next(int min,int max)返回一个指定范围内的随机数

NextBytes用随机数填充指定字节数组的元素

NextDouble返回一个介于0.0和1.0之间的随机数

Sample返回一个介于0.0和1.0之间的随机数,只允许子类对象访问

来源:CSDN,作者:为心而斗,转载此文目的在于传递更多信息,版权归原作者所有。
原文:https://blog.csdn.net/qq_33575542/article/details/79694972
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章