UNPKG

@moderrkowo/jsgl

Version:

Client-side JavaScript library for creating web 2D games. Focusing at objective game.

107 lines (106 loc) 2.75 kB
import { Vector2 } from './Vector2'; import { Rotation } from './Rotation'; /** @group Important Classes */ export declare class Transform { /** Position */ position: Vector2; /** Width and height */ scale: Vector2; /** Rotation */ rotation: Rotation; /** * Constructs new Transform * @param posX The X-coordinate * @param posY The Y-coordinate * @param scaleX The width * @param scaleY The height * @param rotation The rotation in degrees */ constructor(posX: number, posY: number, scaleX: number, scaleY: number, rotation?: number); /** * Gets rotation in radians. */ get angles(): number; /** * Sets rotation in radians. */ set angles(radians: number); /** * Gets rotation in degrees. * @property */ get eulerAngles(): number; /** * Sets rotation in degrees. */ set eulerAngles(degrees: number); /** * Gets the Vector2 of center position. * @returns The center position */ get positionCenter(): Vector2; /** * Gets forward Vector2 * @property */ get forward(): Vector2; /** * Gets backward Vector2 * @property */ get backward(): Vector2; /** * @beta * @method */ bounce(): void; /** * @beta * @method * @param grid Game canvas grid setting */ ifOnEdgeBounce(grid: Vector2): void; set(x: number | Vector2, y?: number): void; setX(x: number | Vector2): void; setY(y: number | Vector2): void; /** * Repositions X-coordinate and Y-coordinate. * @method * @param x - Vector2 or X-coordinate * @param y - Optional Y-coordinate * @example * const vector2 = new JSGL.Vector2(5, 2); * transform.translate(vector2); * * transform.translate(5, 2); */ translate(x: number | Vector2, y?: number): void; /** * Repositions X-coordinate. * @method * @param x - Vector2 or X-coordinate * @example * const vector2 = new JSGL.Vector2(5, 2); * transform.translateX(vector2); * * transform.translateX(5); */ translateX(x: number | Vector2): void; /** * Repositions Y-coordinate. * @method * @param y - Vector2 or Y-coordinate * @example * const vector2 = new JSGL.Vector2(5, 2); * transform.translateY(vector2); * * transform.translateY(2); */ translateY(y: number | Vector2): void; /** * Clones Transform and returns new object. * @method * @returns The cloned object */ clone(): Transform; }