Unity3D笔记第六天——脚本常用核心类

来源:互联网 发布:linux cpuinfo 编辑:程序博客网 时间:2024/06/09 16:16

Time类
Time 类在Unity中封装了一个Time类,Time类是从Unity获取时间信息的接口
time:从游戏开始到现在的时间,是以秒计算的
deltaTime:获取Update()方法中完成上一帧所消耗的时间
fixedTime:获取FixedUpdate()方法中固定消耗时间的总和
fixedDeltaTime:在物理和其他固定帧速率进行更新上一帧所消耗的时间
timeScale:用于减缓运动效果。当timeScale传递时间为1.0时和实时时间一样快;
当timeScale传递时间0.5时比实时时间慢一半,当timeScale传递时间为0时游戏基本上暂停了
(注意:方法Update(): 受当前渲染效率的影响,有时快有时慢,帧率会变化,Update被调用的时间间隔就发生变化,Time.deltaTime获得


自上次Update一来经历的时间,只应该在Update()中使用deltaTime ,OnGUI、FiexedUpdate等里面不要用。)


Input类
Unity支持,键盘,操纵杆和游戏手柄输入。 Unity提供了一个Input类封装控制输入。
mousePosition:当前所在像素坐标的鼠标位置
anyKey:是否有某一按键或鼠标按钮此时被按住
acceleration:最近一次测量的设备在三维空间中的线性加速度
GetAxis:根据坐标轴名称返回虚拟坐标系中的值
GetButton:当对应的虚拟按钮被按住时根据按钮名称返回true
GetButtonDown:在给定名称的虚拟按钮被按下的那一帧返回true
GetButtonUp:在用户释放指定名称的虚拟按钮时返回true
GetKey:当通过名称指定的按键被用户按住时返回true
GetKeyDown:当用户按下指定名称的按键时的那一帧返回true
GetKeyUp:在用户释放给定名字的按键的那一帧返回true
GetMouseButton:当指定的鼠标按钮被按下时返回true
GetMouseButtonDown:在用户按下指定鼠标按键的那一帧返回true
GetMouseButtonUp:在用户释放指定鼠标按键的那一帧返回true。


附:输入管理器 Input Manager
输入管理器可以设置项目的各种输入和操作。输入管理器位于菜单的Edit->Project Settings->Input。


随机类(Random)
在开发中,有时需要获取程序中的随机数,而Unity中Random类中的Random.Range()方法可以返回一个随机数,产生的随机数可以是浮点型


,也可以是整型,其该方法中的第一个参数为随机数的起始值,第二个参数为获取的随机数的结束值(不包含此值)。
例:
int a=Random .Range (0,1);
float f=Random .Range (0f,10.0f);


向量(Vector3)
在Unity3D中,向量几何的应用十分普遍,能灵活的应用对游戏编程人员来说尤为重要。Vector3此结构体在Unity中主要用于传递3D位置和方


向,也包含一些普通向量运算的方法。


Vector的部分属性
normalized:规范化向量(长度为1的向量)
magnitude:向量的长度,比较耗效率
sqrMagnitude:向量长度的平方,效率高。若比较两个向量的长度,通常比较两个向量长度的平方


Vector的方法
Normalize:规范化向量,当前的向量发生变化
Cross:计算两个向量叉乘,返回值为一个垂直于两向量的向量(返回值垂直于两向量的平面)
Dot:两个向量点乘,返回一个浮点型的值(点乘的结果是一个标量,等于向量大小与夹角的cos值的乘积)
Project:计算一个向量在另一个向量上的投影,返回值为Vector3
Distance:计算两向量之间的距离,返回浮点型的值
Lerp:两向量之间进行线性差值
Slerp:两向量之间进行球形差值


数学类(Mathf)
在Unity中Mathf也是很常用的一个Struct,里面有所有数学计算时需要用到的方法,它可以很轻松地帮我们解决复杂的数学公式。


Mathf的方法
Lerp:两个浮点数之间进行差值 
Clamp:返回一个限制值
Sin:计算并返回浮点型的正弦值
Cos:计算并返回浮点型的余弦值
Abs:计算并返回指定参数的绝对值
Max:返回两个值之中最大的值
Min:返回两个值之中最小的值
Sqrt:平方根
PI:圆周率

0 0