vec2 is 2D math vector class. It supports many operations such as dot and cross product, rotation, tests for proximity, find orthogonal vectors, clamping, interpolation and more. The API calls can be chained which allows the creation of complex operation with a single line of code.
Besides the usual vector operations the class also has some useful ones for game development e.g. perpendicular rotation to the left/right. The class is a slightly reworked version of the original work made by playchilla.
Sample
var v1:Vec2 = new Vec2; trace(v1.isZero()); // add sub mul div v1.addSelf(new Vec2(1, 2)).subSelf(new Vec2(3, 4)).mulSelf(new Vec2(2, -3)).divSelf(new Vec2(2, 3)); v1 = new Vec2().addXY(1, 2).subXY(3, 4).mulXY(2, -3).divXY(2, 3); // length and angle setters v1.setXY(1, 1); v1.length = 4; v1.angle = Math.PI / 2; // scale v1.setXY(1, 2).scaleSelf(3); v1.setXY(1, 2).scale(3) // normalize v1.setXY(10, 0).normalizeSelf(); v1.setXY(0, 10).normalize(5);