playable.js
Version:
A lightweight HTML5 game engine.
109 lines (108 loc) • 3.94 kB
TypeScript
import { Stage } from './Stage';
import { Ticker } from '../system/Ticker';
import { Matrix } from '../geom/Matrix';
import { Vector } from '../geom/Vector';
import { Rectangle } from '../geom/Rectangle';
import { TouchEvent } from '../event/TouchEvent';
import { EventEmitter } from '../event/EventEmitter';
export declare class Layer extends EventEmitter {
static pixelRatio: number;
name: string;
tag: string;
touchable: boolean;
protected $x: number;
protected $y: number;
protected $width: number;
protected $height: number;
protected $anchorX: number;
protected $anchorY: number;
protected $skewX: number;
protected $skewY: number;
protected $scaleX: number;
protected $scaleY: number;
protected $rotation: number;
protected $alpha: number;
protected $visible: boolean;
protected $smoothing: boolean;
protected $background: string;
protected $stage: Stage;
protected $parent: Layer;
protected $children: Array<Layer>;
protected $dirty: boolean;
protected $shouldEmitTap: boolean;
protected $touches: Array<boolean>;
protected readonly $canvas: HTMLCanvasElement;
protected readonly $context: CanvasRenderingContext2D;
constructor();
get x(): number;
set x(x: number);
get y(): number;
set y(y: number);
get width(): number;
set width(width: number);
get height(): number;
set height(height: number);
get anchorX(): number;
set anchorX(anchorX: number);
get anchorY(): number;
set anchorY(anchorY: number);
get skewX(): number;
set skewX(skewX: number);
get skewY(): number;
set skewY(skewY: number);
get scaleX(): number;
set scaleX(scaleX: number);
get scaleY(): number;
set scaleY(scaleY: number);
get rotation(): number;
set rotation(rotation: number);
get alpha(): number;
set alpha(alpha: number);
get visible(): boolean;
set visible(visible: boolean);
get smoothing(): boolean;
set smoothing(smoothing: boolean);
get background(): string;
set background(background: string);
get stage(): Stage;
get parent(): Layer;
get numChildren(): number;
get ticker(): Ticker;
get canvas(): HTMLCanvasElement;
addChild(child: Layer): this;
addChildAt(child: Layer, index: number): this;
replaceChild(oldChild: Layer, newChild: Layer): this;
getChildByName(name: string): Layer;
getChildrenByTag(tag: string): Array<Layer>;
getChildAt(index: number): Layer;
getChildIndex(child: Layer): number;
hasChild(child: Layer): boolean;
swapChildren(child1: Layer, child2: Layer): this;
swapChildrenAt(index1: number, index2: number): this;
setChildIndex(child: Layer, index: number): this;
removeChild(child: Layer): this;
removeChildAt(index: number): this;
removeChildByName(name: string): this;
removeChildrenByTag(tag: string): this;
removeAllChildren(): this;
removeSelf(): this;
protected $markDirty(sizeDirty?: boolean): void;
protected $markParentDirty(): void;
protected $resizeCanvas(): void;
protected $resizeParentCanvas(): void;
protected $getTransform(): Matrix;
protected $getChildTransform(child: Layer): Matrix;
protected $getChildBounds(child: Layer): Rectangle;
protected $getContentBounds(): Rectangle;
protected $emitTouchEvent(event: TouchEvent, inside: boolean): boolean;
protected $emitAdded(parent: Layer): void;
protected $emitRemoved(): void;
protected $emitAddedToStage(stage: Stage): void;
protected $emitRemovedFromStage(): void;
protected $localHitTest(vector: Vector): boolean;
protected $isChildVisible(child: Layer): boolean;
protected $drawChild(child: Layer): number;
protected $render(): number;
on(type: string, listener: (...args: any[]) => void): this;
off(type: string, listener?: (...args: any[]) => void): this;
}