Mathf.Floor向下取整
Mathf.Floor向下取整
CloestPowerOfTwo
求最接近给定数字的平方数
例如,给定19,最接近的是16,4的平方
Mathf中的常用方法
ClosePowerOfTwo():取得离2的次方最近的数
Ceil:取大的数,向上取整
Floor:取小的数,向下取整
Lerp:
LerpAngle:
Pow(f,p):取得f的p次方
Sqrt:取得参数的平方根
using UnityEngine;
Using UnityEngine.UI;
public transform cube;
void Start(
{
GAMEobjiet})
Mathf.DeltaAngle(ange1,angle2)求两个角度的最小夹角,角度大于360会自动求余
Mathf.Exp(float power)e的power次方
Mathf.Floor(float f)向下取整,clamp是向上取整
Lerp()插值运算
Mathf.Max()自动取得最大值
Mathf.Movetowards(min,max,change)
Mathf.Pow(f,p)f的p次方
Mathf.Sqrt取得平方根
Mathf.ClosetPowerOfTwo(f)取得离f最近的2的次方,比如f=7就会返回8
Mathf常用方法
Mathf.ClosePowerOfTwo(int i) 返回距离i最近的2的次方 6 返回8 1返回1 9返回8
Mathf.DeltaAngle(int r,intr2) 返回角r与角r2的最小夹角
500 与0 du 返回140
Mathf.Exp(int i) E的i次方
Mathf.floor(float f) 向下取整
max( []) min ([]) 取最大 取最小
pow(float f ,floatp) 获取 f的p次方
Sqrt(float f) 返回f的平方根
Mathf中常用的方法
Mathf.ColsestPowerOfTwo(10)返回最接近的 2 的幂值(2的平方值)
Marhf.deltaAngle(1080,90) 计算两个角度之间的最小夹角。
Mathf.Floor(10.7);向下取整, FloorToInt,返回int类型
mathf.Exp(n) 代表e的n次方。
public static float Lerp (float a, float b, float t);
在 a
与 b
之间按 t
进行线性插值。
参数 t
限制在范围 [0, 1] 内。
当 t
= 0 时,返回 t
。\ 当 t
= 1 时,返回 t
。\ 当 t
= 0.5 时,返回 a
和 b
的中点。
public static float LerpAngle (float a, float b, float t);
与 Lerp 相同,但是在值环绕 360 度时确保值正确插入。
参数 t
限制在范围 [0, 1] 内。假设变量 a
和 b
以度为单位。
public static float LerpUnclamped (float a, float b, float t);
t不受限制。想是多少是多少。
Mathf.Max(1,2)取得最大值。可以是两个数,可以是数组里的。
Mathf.Min(1,2)取得最小值,范围和max一样
Mathf.MoveToWards(float current, float target, float maxDelta) 用来做移动。将值 current
向 target
靠近。这本质上与 Mathf.Lerp 相同,
Mathf.Pow(float f,flaot p) 取得f的p次方
Mathf.Sqrt() 求平方根
Mathf.ClosestPowerOfTwo : 取得2的多少次方最近的数;
例:
Debug.Log(Mathf.ClosestPowerOfTwo(30)):输出32;
Mathf.Floor(value); Floor:向下取整;(返回float类型整数)
如果value为整数,返回value;
如果value不是整数,返回一个比value本身小一的数;
Mathf.FloorToInt(value); 向下取整;(返回int类型整数)
如果value为整数,返回value;
如果value不是整数,返回一个比value本身小一的数;
Mathf.Max:取得最大值;
Mathf.Min:取得最小值;
Mathf.Pow(f,p):取得f的p次方;
Mathf.Sqrt():取得参数的平方根;
Exp
ClosestPowerOfTwo
Floor
Floor2Int
Max
Min
Pow
Exp
Sqrt
Mathf.Sqrt 平方根
ClosePowerOfTwo 取得离的最近的2的平方数
Floor 向下取整得Float
Max 取数组中最大的数
Min 取数组中最小的数
Pow(n,x)n的x次方
Sqrt(n)n的开平方
Mathf.ClosestPowerOfTwo(value)
输出value最近的2的平方数
ClosestPowerOfTwo 2的n次方;
DeltaAngle 两个角度的最小角角;
Exp e的n次方
Floor 向下取整;
Lerp 取差值;
Max 最大值;
Min 最小值;
MoveTowards 移动的控制;
Pow 取得前的后次方(x,y)
Sqrt 参数的平方根;
老师讲错了哦
ClosestPowerOfTwo 的作用是
返回与输出值最接近的2的X次幂
1.创建游戏物体f的三种方法
new GameObject();括号里可以添加想要创建的物体类型例如
new GameObject("Cube");创建出一个正方体
GameObject.Instantiate();
实例化Prefabs或实例化游戏物体
GameObject.CreatePrimitive();
创建原始图形如:.GameObject.CreatePrimitive(PrimitiveType.Cube);
2.通过代码给游戏物体添加组件
private GameObject object;
object.AddComponent<Rigidbody>();
通过代码给游戏物体j添加脚本
object.AddComponent<脚本名>();
3.GameObject游戏物体的常用类
GameObject.activeInHierarchy 物体是否处于激活状态(包括自身及子物体)
4.UnityEngine下Object的静态方法
Object.Destroy:
Destroy(gameobject,time);
Object.DontDestroyOnLoad:
DontDestroyOnLoad(transform.gameObject);(在进行场景之间转换时不会被销毁,会被带到下一个场景中)
Object.FindObjectOfType:
Object a =FindObjectOfType(typeof(组件名))
Rigidbody a=FindObjectOfType<Rigidbody>();
只返回第一个被检测到含有此组件的物体。不查找未激活的游戏物体
Object.FindObjectsOfType:
Object a =FindObjectsOfType(typeof(组件名))
Rigidbody a=FindObjectsOfType<Rigidbody>();
将检测到的所有的含有此组件的物体都存在数组中。不查找未激活的游戏物体
5.查找方法
Find(比较耗费性能)
FindGameObjectsWithTag返回所有是次标签的物体返回数组
FindWithTag只返回第一个检测到的物体。
6.游戏物体间消息的发送和接收
GameObject.BroadcastMessage();包括其自身及其子物体
GameObject.SendMessage(); 不包括子物体
GameObject.SendMessageUpwards();包括其自身及其父物体
7.得到组件的各种方法函数
GetComponent;只会得到在游戏物体身上的第一个检测到的组件
GetComponent;会得到物体上所有的组件
GetComponentInChildren;会得到其自身及其子物体身上第一个检测到的相应的组件
GetComponentInParent;会得到其自身及其父物体身上第一个检测到的相应的组件
GetComponentsInChildren;会得到其自身及其子物体身上所有检测到的相应的组件
GetComponentsInParent;会得到其自身及其父物体身上所有检测到的相应的组件
8.Public Functions
Invoke;
Public void Invoke(string methodName,float time );可延时调用方法
CancelInvoke;取消所有调用的方法(仅适用于当前脚本,不影响其他脚本中相同方法的调用)
InvokeRepeating;重复调用方法
IsInvoking;判断方法是否正在被调用
协程:
1.返回值是IEnumerator
2.返回参数时使用yield return null/0。
3协程方法的调用:使用StartCoroutine(需要调用的协程方法的名字);
4暂停yield return new WaitForSeconds(需要暂停的时间);
例如:
IEnumerator Method(){
内容;
yied return null;
}
StartCoroutine();开启协程
StopCoroutine();关闭协程
StopAllCoroutine();
9.与鼠标相关事件函数OnMouseXXX
OnMouseDown();当鼠标按下时触发
OnMouseUp();当鼠标抬起时触发
OnMouseDrag();当鼠标已经按下但没有抬起时触发
OnMouseEnter();当鼠标在游戏物体身上但没有按下鼠标时触发
ONMouseExit();当鼠标离开游戏物体时触发
OnMouseOver();当鼠标在游戏物体身上时无论是鼠标按下或没有按下只要鼠标在游戏物体身上就触发。
10.Mathf里面的方法
Mathf.PI 圆周率
Mathf.Deg2Rad 将度数转变为弧度
Mathf.Rad2Deg 将弧度转成度数
Mathf.Epsilon 无限小的数
Mathf.Infinity 无限大的数
Mathf.Abs 绝对值
Mathf.Ceil 向上取整
如Mathf.Ceil(10);结果为10.
Mathf.Ceil(10.2f);结果为11.
Mathf.Ceil(-10);结果为-10.
Mathf.Ceil(-10.2f);结果为-10.
Mathf.Floor();向下取整。
Mathf.Clamp(float value,float min,flaot max); valur为自己定义的数值。如果value小于min则将value改为min,如果value大于min且小于max则value为自身值,如果value大于max则将value改为max。
Mathf.ClosesPowerOfTwo(int value);取离value最近的2的多次方
如Mathf.ClosesPowerOfTwo(3);返回4
Mathf.ClosesPowerOfTwo(7);返回8
Mathf.DeltaAngle();返回角度之间的最小夹角。如721°-360°=361°,其返回1°。
Mathf.Exp(float power);代表e的power次方
Mathf.Max(float a,float b);比较两个数中的最大值(float可换为int)
Mathf.Max(float[] value);比较数组中的最大值(float可换为int)
Mathf.Min(float a,float b);比较两个数中的最小值(float可换为int)
Mathf.Min(float[] value)比较数组中的最小值(float可换为int
Mathf.Pow(float a,float b);a的b次方。
Mathf.Sqrt();去平方根。