UNITY 5.2 Vector2 结构

Static变量:都是只读属性,一些特殊向量的缩写

public static Vector2 up { get; }
说明;Vector2(0, 1) 的缩写

public static Vector2 down { get; }
说明;Vector2(0, -1) 的缩写

public static Vector2 left { get; }
说明;Vector2(-1, 0) 的缩写

public static Vector2 right { get; }
说明;Vector2(1, 0) 的缩写

public static Vector2 one { get; }
说明;Vector2(1, 1) 的缩写

public static Vector2 zero { get; }
说明;Vector2(0, 0) 的缩写

构造函数:

public Vector2(float x, float y);
说明:传入向量所需要的值,也可以使用默认构造函数,因为为结构体所以对象为值类型

Public变量:

public Vector2 normalized { get; }
说明:返回向量的单位向量,返回一个新的向量,不改变向量值。若向量太小可能会返回一个 0 向量

public float magnitude { get; }
说明:返回向量的长度,若只是比较向量大小 则应该使用 sqrMagnitude

public float sqrMagnitude { get; }
说明:计算向量长度的平方很快,所以比较向量大小就使用这个属性

public float this[int index] { get; set; }
说明:使用索引器的方式访问 x = [0],y = [1] 的值

public float y;
public float x;
说明:该向量的两个坐标值

Public函数:

public void Normalize();
说明:将当前向量单位化,将改变当前向量的值,若不想改变则用属性 normalized 代替。若太小则返回0 向量

public void Set(float new_x, float new_y);
说明:设置已经存在向量的 x, y值

public void Scale(Vector2 scale);
说明:将此向量按照 scale 放大

public override string ToString();
public string ToString(string format);
说明:返回向量的字符串格式

Static函数:

public static float Angle(Vector2 from, Vector2 to);
说明:获取两个向量间的夹角 [0, 180],无顺序

public static Vector2 ClampMagnitude(Vector2 vector, float maxLength);
说明:返回单位向量与 vector 相同,大小为 maxLength 的向量

public static float Distance(Vector2 a, Vector2 b);
说明:返回 a 向量 与 b 向量的距离。(a - b)的 magnitude

public static float Dot(Vector2 lhs, Vector2 rhs);
说明:返回 lhs * rhs

public static Vector2 Lerp(Vector2 a, Vector2 b, float t);
public static Vector2 LerpUnclamped(Vector2 a, Vector2 b, float t);
说明:线性 a b 中插入一个向量, t [0,1] 表示 [a, b] 之间

public static Vector2 Max(Vector2 lhs, Vector2 rhs);
public static Vector2 Min(Vector2 lhs, Vector2 rhs);
说明:由两个向量中的最大(最小)值组成新的向量

public static Vector2 MoveTowards(Vector2 current, Vector2 target, float maxDistanceDelta);
说明:将 current 在与 target 组成的方向向量上 移动 maxDistanceDelta,不超过target

public static Vector2 Reflect(Vector2 inDirection, Vector2 inNormal);
说明:将 inDirection 映射在 inNormal

public static Vector2 Scale(Vector2 a, Vector2 b);
说明:获取 a b 向量的个元素乘积的向量

public static Vector2 SmoothDamp(Vector2 current, Vector2 target, ref Vector2 currentVelocity, float smoothTime);
public static Vector2 SmoothDamp(Vector2 current, Vector2 target, ref Vector2 currentVelocity, float smoothTime, float maxSpeed);
public static Vector2 SmoothDamp(Vector2 current, Vector2 target, ref Vector2 currentVelocity, float smoothTime, float maxSpeed, float deltaTime);
说明:逐渐将一个向量移动到目标位置
current :当前坐标
target :目标坐标
currentVelocity :每次调用该函数获取的速度
smoothTime :大约花费的时间,值越小,速度越大
maxSpeed :限制最大的速度
deltaTime :调用事件间隔,默认为 Time.deltaTime.

操作符重载:所有的操作符重载都在静态函数中,所有操作都不影响原始向量

public static Vector2 operator -(Vector2 a);
说明:将向量取反

public static Vector2 operator -(Vector2 a, Vector2 b);
说明:向量 a - b

public static Vector2 operator *(float d, Vector2 a);
public static Vector2 operator *(Vector2 a, float d);
说明:向量与实数相乘

public static Vector2 operator /(Vector2 a, float d);
说明:向量除以实数

public static Vector2 operator +(Vector2 a, Vector2 b);
说明:向量相加

public static bool operator ==(Vector2 lhs, Vector2 rhs);
public static bool operator !=(Vector2 lhs, Vector2 rhs);
说明:判断向量是否相等

public static implicit operator Vector3(Vector2 v);
public static implicit operator Vector2(Vector3 v);
说明:2D 3D向量间的隐式转换转换

你可能感兴趣的:(UNITY 5.2 Vector2 结构)