Unity API常用方法和类(二)

本文深入探讨Unity中的Coroutine协程操作,包括StartCoroutine、StopCoroutine和StopAllCoroutines的使用。同时,介绍了与鼠标交互的OnMouseXXX事件函数。此外,详细阐述了Mathf类的重要数学函数,如PI、 Deg2Rad、Abs、Ceil、Sqrt等,以及它们在游戏开发中的应用。还讲解了Lerp、MoveTowards和PingPong等插值运算在实现平滑运动和循环效果中的作用。最后,提到了Input类用于处理用户输入的方法,并概述了MonoBehaviour的相关函数Invoke、InvokeRepeating和CancelInvoke。
摘要由CSDN通过智能技术生成

Coroutine协程的开启和关闭
StopCoroutine(暂停协程的IEnumertor)
private IEnumerator ie;
StartCoroutine(ie);
StopCoroutine(ie);
StopAllCoroutines暂停所有的协程;
在这里插入图片描述

跟鼠标相关事件函数OnMouseXXX
Down 按下;
Up 抬起;
Drag 按下停留拖拽;
Enter 移上;
Exit 移出;
Over 停留;
UpAsButton 按下抬起时处于当前物体时触发;

Mathf里面的静态常量Mathf
数学函数
PI 圆周率
Deg2Rad 度数转弧度
Rad2Deg 弧度转度数
Epsilon 小数,不计数,比0大
infinity 无限大

Mathf中的Clamp限定方法
Abs 取绝对值;
Ceil 向上取整返回Float类型
CeilToInt 向上取整返回Int类型
Clamp 加紧
Clamp01限定在01之间

Mathf中的常用方法.
Mathf.Sqrt 平方根
Floor 向下取整得Float
Max 取数组中最大的数
Min 取数组中最小的数
Pow(n,x)n的x次方
DeltaAngle 两个角度的最小角角;
Exp e的n次方
Floor 向下取整;
Lerp 取差值;;
MoveTowards 移动的控制;
Sqrt 参数的平方根;
Mathf.ClosestPowerOfTwo(value)
输出value最近的2的平方数

关于游戏开发中的插值运算
Mathf.Lerp //插值运算
float x=Mathf.Lerp(a,b,t);
//x=a+(b-a)t
a为一个值,b为一个值,t为插值
t<=0;输出a(最小值),t>=1输出b(最大值)
Maths.Lerp(a,b,Time.deltaTime
value)
越来越慢的运动
Lerp (开始值,结束值,差值比例);
Lerp(float a,float b,float t):a为最小值,b为最大值,t为两个值中间的比例,t=0.5函数返回两个值的中间值 通常用于动画(运动)效果使动画(运动)先快后慢

在这里插入图片描述
使用MoveTowards做匀速运动
Mathf.MoveTowards(x,10,0.1f);
Mathf.MoveTowards(x,10,Time.deltaTime);一秒一米
MoveTowards(x,10,0.1f)
做匀速运动
最大值不会超过10
速度为 x+0.1f
可以考虑正负的情况
LerpAngle 角度差值;
MoveTowards 匀速运动;
MoveTowards(当前值,目标值,移动间隔)
Mathf.MoveTowards(x,10,speed);
//x向10匀速增加

使用PingPong方法实现乒乓的来回运动效果
PingPong 范围内来回循环;
PingPong(返回值,最大值)
Lerp:j减缓运动;
MoveTowards:匀速运动;
pingPong:来回
new vector3 Math.Pingpong(time.time*speed,5)
一直增大,在time初始值和5之间来回运动
实现乒乓球来回的效果 匀速运动

Input类输入类(按键、按键、触摸相关检测
Input 输入;
Input manage 输入轴;
accelerationEvent 感应重力;
imeIsSelected

Input里面的GetKeyXXX的使用
if (Input.GetKeyDown(KeyCode.Space))
{
print(“KeyDown”);
}

    if (Input.GetKeyUp(KeyCode.Space))
   {
       print("KeyUp");

if (Input.GetKey(KeyCode.Space))
{
print(“Key”);
GetButton 获得按钮;
GetKey 获得按键,键盘;
KeyCode.key 按键按钮
MonoBehaviour总览
Invoke用于调用方法(“方法”,时间(延迟几秒调用))
InvokeRepeating调用一个方法(“方法”,时间(从第几秒开始),时间(几秒调用一次))
CancellInvoke();取消所有的调用函数;

MonoBehaviour里面的常用变量
如果调用的是普通方法,会等普通方法执行完后向下执行。
调用的是协程方法,调用后就会继续运行。
Mathf.ClosestPowerOfTwo(value)
输出value最近的2的平方数
IEnumerator//协程
IEnumerator fun()
{
XXXXXX;
yield return;
}
void Start()
{
StartCoroutine( fun());
}
3.
Debug.Log(“XX”);
控制台输出调试日志。
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值