@moderrkowo/jsgl
Version:
Client-side JavaScript library for creating web 2D games. Focusing at objective game.
107 lines (106 loc) • 2.75 kB
TypeScript
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;
}