加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Unity基础——基础类介绍:Transform 类、Random类、Time类、Mat

发布时间:2020-12-15 07:48:26 所属栏目:Java 来源:网络整理
导读:? Transform 类提供的常用方法: (1)? ---Translate(? ???????? ) ? ---Rotate() ???? Vector3 ???? i.? (?? x,? y,? z? ) ???? ii. Vector3 .left |right|up|down|forward|back ? ? 如:向左移动1个单元? ????? transform.Translate( -1,0,0? ); ????? t

? Transform 类提供的常用方法:

(1)?

---Translate(? ???????? )

? ---Rotate()

???? Vector3

???? i.? (?? x,? y,? z? )

???? ii. Vector3 .left |right|up|down|forward|back

?

? 如:向左移动1个单元?

????? transform.Translate( -1,0,0? );

????? transform.Translate( Vector3.left );

?(2) Translate(? 参数1, 参数2 );

????? 注:Space.self | world

?? ------------------------------------------------------

(3)Rotate( 参数1,参数2 )

?(4) Instantiate ( 原对象 )

?? Instantiate ( 原对象,新对象的位置,新对象的角度)

?? --该方法是Unity 中 的Object类提供的方法

?? --用于产生指定游戏对象的复本

?? --当方法执行结束后,会将对象的复本作为 Object 类型返回

?? --该方法一般写在 Update()方法中,一般是在具体条件,

???? 否则会一直执行该方法。卡顿。

???? 如:单击鼠标左键或 键盘某个按键,才会产生复本...

?

?? 注:如果没有通过第二个参数和第三个参数指定新对象的位置

?????? 和旋转角度,那么默认会在原物体一样的位置产生一个

?????? 新的对象(新对象会将原对象覆盖 )

?? 游戏对象进行旋转

?

Random类提供的常用方法:伪随机数

??? 0)种子

??? 1) Range():

?????? Random.Range(min,max):产生的是min到max范围内随机数

?????? 包含min,但是不包含max

?Time类提供的常用方法:

?

?? 1) deltaTime:float返回值

?????? 距离上一帧执行耗用时间(小数)

?????? 两种使用场景:

?????? 1)旋转或移动,速度比较快,*deltaTime控制速度

?????? 2)Update()帧率造成的时间不匹配问题,

????????? FixedUpdate()--- 物体(刚体)

?????????

????????? 解决方法:

?????? transform .Translate(Vector3.up * Time.deltaTime)

?????????

?? 2) time :

?? 3)? timeScale 暂停

?

?Mathf 类

?? --提供了一系列的方法和属性进行数学操作:

?? 1--常用的属性

?? 2--常用的方法

?

?? 求绝对值 ABS()

?? 求最大数或最小数 MAX ()? MIN()

?? 开平方 : Sqrt()

?? 四舍五入:Round()、Ceil()、Floor()

?? 三角函数: Sin(),Cos(),Tan()...

?? 幂次方与指数:Log()、Log10()Pow()、

?? ....

?? Lerp()

?? SmoothDamp()

?? MoveTowards()

?? PingPong()

?? .....

输入输出方法

(1)鼠标输入

Input类提供的用于处理鼠标输入的相关鼠标和方法

--mousePostion:

获取鼠标在当前屏幕上的具体坐标

是一个二维坐标(Z轴始终为0)

坐标与当前屏幕像素有关,如果鼠标在当前屏幕的左下角(0,0)

(Screen.Width,Screen.Height)

注释:当前屏幕指的是当前Game窗口

--GetMouseButtonDown

返回true,当指定的鼠标按键吗被按下

否则,返回false

--GetMouseButtonUp(按键码)

返回true,当指定的鼠标按键码被按下

否则,返回false

--GetMouseButton()

当指定的鼠标一直按着,返回true

否则,返回false

--GetAxis(“Mouse X”)

方法返回float类型的数据

??获取鼠标在水平方向上移动的距离

??当鼠标在水平方向上正半轴移动时,得到一个正数

??当鼠标在水平方向上负半轴移动时,得到一个负数

-- GetAxis(“Mouse Y”)

方法返回float类型的数据

??获取鼠标在垂直方向上移动的距离

??当鼠标在垂直方向上正半轴移动时,得到一个正数

??当鼠标在垂直方向上负半轴移动时,得到一个负数

?

?

如:

if(Input.GetButtonDown(2))

{

?? print(Random.Range(0,10);?? //[0,10)

}

else

{

?? print(Random,Range(-10,0))? ///[-10,0)

}

?

鼠标左键:0

鼠标右键:1

鼠标中间:2

(2)键盘输入

Input

---1. .GetKeyDown(键盘按键码)

?????? 指定某键盘按键被按下时,返回true,否则,返回false

---2. .GetKeyUp(键盘按键码)

?????? 指定某键盘按键被抬起时,返回true,否则,返回false

---3. .GetKey(键盘按键码)

指定某键盘按键被一直按着,返回true,否则,返回false

---4. GetAxis(“Horizontal”)

用于判断按了键盘上的那个水平方向键(四个箭头方向键)

--- GetAxis(“Vertical”)

用于判断按了键盘上的哪个垂直方向键

如果方法返回 -1到1之间的正数,表示按了向上方向

如果方法返回 1到-1之间的负数,表示按了向下方向

?

(1)注释:键盘按键的按键码

i. “*****”

ii. KeyCode?? KeyCode.A

(2)返回-1到1之间的小数

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读