A 2D vector, sharing Vector3's design: an abstract over a bare {x, y} structure, so it is layout-compatible with Lua vector2 values returned by natives and costs nothing at runtime.

Mostly useful for screen coordinates (World3dToScreen2d, text placement) and for flat, ground-plane math where height is irrelevant.

Static variables

staticread onlylength:Float

staticread onlylengthSquared:Float

Static methods

@:op(A + B)staticinlineadd(this:Vector2Data, rhs:Vector2):Vector2

staticinlinecopy(this:Vector2Data):Vector2

staticinlinecross(this:Vector2Data, rhs:Vector2):Float

The Z component of the 3D cross product — positive when rhs is counter-clockwise from this.

staticinlinedistance(this:Vector2Data, rhs:Vector2):Float

staticinlinedistanceSquared(this:Vector2Data, rhs:Vector2):Float

@:op(A / B)staticinlinedivide(this:Vector2Data, factor:Float):Vector2

staticinlinedot(this:Vector2Data, rhs:Vector2):Float

@:op(A == B)staticinlineequals(this:Vector2Data, rhs:Vector2):Bool

staticinlinefromNative(value:Dynamic):Vector2

staticinlinelerp(this:Vector2Data, target:Vector2, t:Float):Vector2

@:op(A * B)staticinlinemul(this:Vector2Data, rhs:Vector2):Vector2

@:value({ epsilon : 0.001 })staticinlinenearlyEquals(this:Vector2Data, rhs:Vector2, epsilon:Float = 0.001):Bool

@:op(-A)staticinlinenegate(this:Vector2Data):Vector2

staticinlinenormalized(this:Vector2Data):Vector2

@:op(A != B)staticinlinenotEquals(this:Vector2Data, rhs:Vector2):Bool

staticinlineone():Vector2

staticinlinerotate(this:Vector2Data, degrees:Float):Vector2

Rotates counter-clockwise around the origin.

@:op(A * B)@:commutativestaticinlinescale(this:Vector2Data, factor:Float):Vector2

@:op(A - B)staticinlinesub(this:Vector2Data, rhs:Vector2):Vector2

staticinlinetoArray(this:Vector2Data):Array<Float>

@:has_untypedstaticinlinetoNative(this:Vector2Data):Dynamic

staticinlinetoString(this:Vector2Data):String

@:value({ z : 0 })staticinlinetoVector3(this:Vector2Data, z:Float = 0):Vector3

Widens to 3D, with z defaulting to ground level 0.

staticinlinezero():Vector2