Unity3D中API常用方法和类详细讲解(vector 类、 Random类、)

 

 


 Vector2 类


点击这里进入官网

该结构既可以表示为一个 二维的位置坐标 ,也可以表示一个向量。


Static Properties


Vector2.down

public static Vector2 down;

Vector2(0,-1)的简写。也就是 Y 轴的负方向。

Vector2.left

public static Vector2 left;

Vector2(-1,0)的简写。也就是 X 轴的负方向。

Vector2.one

public static Vector2 one;

Vector2(1, 1)的简写。

Vector2.right

public static Vector2 right;

Vector2(1,0)的简写。

Vector2.up

public static Vector2 up;

Vector2(0,1)的简写。

Vector2.zero

public static Vector2 zero;

Vector2(0,0)的简写。


Properties


Vector2.magnitude

public float magnitude;
  • 返回此向量的长度(只读)。
  • 向量的长度是√(x*x+y*y) 
  • 如果您只需要比较一些向量的大小,您可以使用  sqrMagnitude 比较它们的长度的平方(计算平方大小更快)。

Vector2.sqrMagnitude

public float sqrMagnitude;

返回这个向量的长度的平方(只读)。 比如 向量a的平方就是向量的数量积,向量 a • a=|a|²

Vector2.normalized

public Vector2 normalized;
  • 返回该向量的单位向量,就是为1的向量
  • 调用该操作之后, 向量的方向还是不变的, 但是长度为1
  • 注意: 当前的向量是不会被改变的, 它返回的是一个新的一个长度为1的向量。 如果你想当前的向量被改变,请使用 Normalize 函数.
  • 如果这个向量太小而不能使用该操作,将会返回一个零向量。

Vector2.this[int]

public float this[int];
  • 分别使用[0]或[1]访问x或y分量。
using UnityEngine;

public class Example : MonoBehaviour
{
    void Start()
    {
        Vector2 p = new Vector2();
        p[1] = 5; // the same as p.y = 5
    }
}

Public Methods


Vector2.Equals

public bool Equals(object other);
  • 如果给定的向量恰好等于这个向量,则返回true。 就是两个向量的 x和 y 轴都是一样的,就是相等的。

  • 有时候可能向量是浮点数, 对于本质上相等 (但不完全相等)的浮点数向量,这可能返回false。可以使用==操作符来测试两个向量是否近似相等。

Vector2.Normalize

public void Normalize();
  • 令这个向量的大小为1。
  • 调用该操作之后, 向量的方向还是不变的, 但是长度为1
  • 请注意,该函数将改变当前向量。如果希望保持当前向量不变,请使用 normalized 变量.
  • 如果这个向量太小而不能使用该操作,将会返回一个零向量。

Vector2.Set

public void Set(float newX, float newY);
  • 设置现有 Vector2 的x和y分量。

Vector2.ToString

public string ToString();

public string ToString(string format);
  • 把该向量转换为一个字符串, 然后利用 Debug.Log 输出

Static Methods


Vector2.Angle

public static float Angle(Vector2 from, Vector2 to);

 

  • 此方法用于返回两个 Vector2 实例的夹角,单位为角度, 返回值的取值范围为[0,180], 并且当from和to中至少有一个向量为Vector2.zero的时候返回值为90.

Vector2.ClampMagnitude

public static Vector2 ClampMagnitude(Vector2 vector, float maxLength);
  • 此方法用于返回向量的长度, 且 最大不超过 maxLength

Vector2.Distance

public static float Distance(Vector2 a, Vector2 b);
  • 返回a和b之间的距离。
  • Vector2.Distance(a,b) 等同于 (a-b).magnitude

Vector2.Lerp

public static Vector2 Lerp(Vector2 a, Vector2 b, float t);

其中参数 a 为插值的起始向量,参数 b 为插值的结束向量,参数 t 为插值系数。此方法用于求从参数 a 到参数 b 的插值向量。

参数 t 被限制在[0,1]范围内。

  • When t = 0 returns a
  • When t = 1 return b
  • When t = 0.5 returns the midpoint of a and b.

Vector2.MoveTowards

public static Vector2 MoveTowards(Vector2 current, Vector2 target, float maxDistanceDelta);
  • 其中参数 curren t为移动起始点坐标,参数target为移动目标点,参数maxDistance Delta为移动的参考系数。
  • 这与Vector2.Lerp基本相同,都是此用于返回两个向量的插值,但是该操作的最大插值不能超过maxDistancebelta

 


 Vector3 类


点击这里进入官网

该结构既可以表示为一个 三维的位置坐标 ,也可以表示一个向量。

 


Random 类


点击进入官网

该类是 产生随机数的类。


Static Methods


Random.Range

public static float Range(float min, float max);
  • 返回一个 在min(包括)和max(包括)之间的浮点型随机数(只读)。
public static int Range(int min, int max);
  • 返回一个 在min(包括)和max(不包括)之间的整型随机数(只读)。比如:Random.Range(0,10)可以返回0到9之间的值。
  • 如果max等于min,返回min。

持续更新....

你可能感兴趣的:(Unity3D)