Mathf中的Clamp限定方法
Abs:取绝对值
Ceil:向上取整,返回Float类型的整数
CeilInt:向上取整,返回Int类型的整数
Clamp:夹紧,如果value值小于min则返回min值,如果value值大于max值,则返回max值,如果在min和value之间则返回value本身值,用于判断某个值在哪个范围之内(生命系统用)
public class MathfCS : MonoBehaviour {
public Transform cube;
void Update()
{
cube.position = new Vector3(Mathf.Clamp(Time.time, 1.0f, 3.0f), 0, 0);//限定他的运动在1到3之间
}
}
Clamp01:把Clamp的值限定在0-1之间
Mathf中的常用方法
Mathf.Abs()取绝对值
Mathf.Ceil()向上取整(10.2取到11,返回float类型)
Mathf.CeilToInt()与上相同,不过返回的是int类型
Mathf.Clamp(float value,float min,float max)如果value小于min则返回min,大于max则返回max,大于min小于max则返回value本身,即把一个值限制在范围之内
Mathf.Clamp01(float value)即min为0max为
一般情况下,比如在被点燃的情况下
静态方法
Abs(数字) 返回绝对值
Ceil(数字) 向上取整 返回的是float
CeilToint(数字) 返回的是 int
1.0 - 1
1.1 - 2
1.2 - 2
-1.0 - -1
-1.1 - -1
Clamp(float value ,float min ,float max)
在再返回内返回Value 超出 返回max 小于min返回min
Clamp01 min0 max 1
Mathf.Abs(value); Abs:取绝对值;
如果value为正,返回value;
如果value为负,返回value;
Mathf.Ceil(value); Ceil:向上取整;(返回float类型整数)
如果value为整数,返回value;
如果value不是整数,返回一个比value本身大一的数;
Mathf.CeilToInt(value); 向上取整;(返回int类型整数)
如果value为整数,返回value;
如果value不是整数,返回一个比value本身大一的数;
Mathf.Clamp(float:value,float:min;float:max)
Clamp:把一个值限定在一个范围之内,把一个值加紧;
如果value的值小于min,返回min;
如果value的值大于max,返回max;
如果value的值位于min与max之间,返回value;
abs 取绝对值
ceil 向上取整
Ceil 向上取整返回Float类型
CeilToInt 向上取整返回Int类型
Clamp 加紧
Clamp01限定在01之间
Abs 取绝对值;
Ceil 向上取整;
CeilToInt int型;
Clamp 加减,范围,(Value,min,max)
void TakeDamage() 伤害计算;
Clamp01 0
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.Clamp(float value,float min,flaot max); valur为自己定义的数值。如果value小于min则将value改为min,如果value大于min且小于max则value为自身值,如果value大于max则将value改为max。