phaser
Version:
A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers.
1,595 lines (1,189 loc) • 222 kB
TypeScript
// Type definitions for PIXI 1.6.1 dev
// Project: https://github.com/GoodBoyDigital/pixi.js/
declare module PIXI {
export var WEBGL_RENDERER: number;
export var CANVAS_RENDERER: number;
export var VERSION: string;
export enum blendModes {
NORMAL,
ADD,
MULTIPLY,
SCREEN,
OVERLAY,
DARKEN,
LIGHTEN,
COLOR_DODGE,
COLOR_BURN,
HARD_LIGHT,
SOFT_LIGHT,
DIFFERENCE,
EXCLUSION,
HUE,
SATURATION,
COLOR,
LUMINOSITY
}
export enum scaleModes {
DEFAULT,
LINEAR,
NEAREST
}
export var defaultRenderOptions: PixiRendererOptions;
export var INTERACTION_REQUENCY: number;
export var AUTO_PREVENT_DEFAULT: boolean;
export var RAD_TO_DEG: number;
export var DEG_TO_RAD: number;
export var RETINA_PREFIX: string;
export var BaseTextureCache: { [key: string]: BaseTexture }
export var TextureCache: { [key: string]: Texture }
export function rgb2hex(rgb: number[]): string;
export function hex2rgb(hex: string): number[];
export function autoDetectRenderer(width?: number, height?: number, options?: PixiRendererOptions): PixiRenderer;
export function autoDetectRecommendedRenderer(width?: number, height?: number, options?: PixiRendererOptions): PixiRenderer;
export function canUseNewCanvasBlendModes(): boolean;
export function getNextPowerOfTwo(number: number): number;
export function AjaxRequest(): XMLHttpRequest;
export interface IEventCallback {
(e?: IEvent): void
}
export interface IEvent {
type: string;
content: any;
}
export interface HitArea {
contains(x: number, y: number): boolean;
}
export interface IInteractionDataCallback {
(interactionData: InteractionData): void
}
export interface PixiRenderer {
height: number;
transparent: boolean;
type: number;
width: number;
view: HTMLCanvasElement;
render(stage: Stage): void;
resize(width: number, height: number): void;
}
export interface PixiRendererOptions {
antialias: boolean;
clearBeforeRender: boolean;
preserveDrawingBuffer: boolean;
resolution: number;
transparent: boolean;
view: HTMLCanvasElement;
}
export interface BitmapTextStyle {
font?: string;
align?: string;
tint?: string;
}
export interface TextStyle {
align?: string;
dropShadow?: boolean;
dropShadowColor?: string;
dropShadowAngle?: number;
dropShadowDistance?: number;
fill?: string;
font?: string;
stroke?: string;
strokeThickness?: number;
wordWrap?: boolean;
wordWrapWidth?: number;
}
export interface Loader {
load(): void;
}
export interface MaskData {
alpha: number;
worldTransform: number[];
}
export interface RenderSession {
context: CanvasRenderingContext2D;
maskManager: CanvasMaskManager;
scaleMode: scaleModes;
smoothProperty: string;
roundPixels: boolean;
}
export interface ShaderAttribute {
// TODO: Find signature of shader attributes
}
export interface FilterBlock {
visible: boolean;
renderable: boolean;
}
export class AbstractFilter {
constructor(fragmentSrc: any, uniforms: any);
dirty: boolean;
padding: number;
}
export class AlphaMaskFilter extends AbstractFilter {
constructor(texture: Texture);
map: Texture;
onTextureLoaded(): void;
}
export class AsciiFilter extends AbstractFilter {
size: number;
}
export class AssetLoader extends EventTarget {
constructor(assetURLs: string[], crossorigin: boolean);
assetURLs: string[];
crossorigin: boolean;
loadersByType: { [key: string]: Loader };
load(): void;
onComplete(): void;
onProgress(): void;
}
export class AtlasLoader extends EventTarget {
url: string;
baseUrl: string;
crossorigin: boolean;
loaded: boolean;
constructor(url: string, crossorigin: boolean);
load(): void;
}
export class BaseTexture extends EventTarget {
static fromImage(imageUrl: string, crossorigin?: boolean, scaleMode?: scaleModes): BaseTexture;
static fromCanvas(canvas: HTMLCanvasElement, scaleMode?: scaleModes): BaseTexture;
constructor(source: HTMLImageElement, scaleMode: scaleModes);
constructor(source: HTMLCanvasElement, scaleMode: scaleModes);
height: number;
hasLoaded: boolean;
id: number;
premultipliedAlpha: boolean;
resolution: number;
scaleMode: scaleModes;
source: HTMLImageElement;
width: number;
destroy(): void;
updateSourceImage(newSrc: string): void;
}
export class BitmapFontLoader extends EventTarget {
constructor(url: string, crossorigin: boolean);
baseUrl: string;
crossorigin: boolean;
texture: Texture;
url: string;
load(): void;
}
export class BitmapText extends DisplayObjectContainer {
static fonts: any;
constructor(text: string, style: BitmapTextStyle);
dirty: boolean;
fontName: string;
fontSize: number;
textWidth: number;
textHeight: number;
tint: number;
style: BitmapTextStyle;
setText(text: string): void;
setStyle(style: BitmapTextStyle): void;
}
export class BlurFilter extends AbstractFilter {
blur: number;
blurX: number;
blurY: number;
}
export class BlurXFilter extends AbstractFilter {
blur: number;
}
export class BlurYFilter extends AbstractFilter {
blur: number;
}
export class CanvasMaskManager {
pushMask(maskData: MaskData, renderSession: CanvasRenderingContext2D): void;
popMask(renderSession: CanvasRenderingContext2D): void;
}
export class CanvasRenderer implements PixiRenderer {
constructor(width?: number, height?: number, options?: PixiRendererOptions);
clearBeforeRender: boolean;
context: CanvasRenderingContext2D;
count: number;
height: number;
maskManager: CanvasMaskManager;
refresh: boolean;
renderSession: RenderSession;
resolution: number;
transparent: boolean;
type: number;
view: HTMLCanvasElement;
width: number;
render(stage: Stage): void;
resize(width: number, height: number): void;
}
export class CanvasTinter {
static getTintedTexture(sprite: Sprite, color: number): HTMLCanvasElement;
static tintWithMultiply(texture: Texture, color: number, canvas: HTMLCanvasElement): void;
static tintWithOverlay(texture: Texture, color: number, canvas: HTMLCanvasElement): void;
static tintWithPerPixel(texture: Texture, color: number, canvas: HTMLCanvasElement): void;
static roundColor(color: number): void;
static cacheStepsPerColorChannel: number;
static convertTintToImage: boolean;
static canUseMultiply: boolean;
static tintMethod: any;
}
export class Circle implements HitArea {
constructor(x: number, y: number, radius: number);
x: number;
y: number;
radius: number;
clone(): Circle;
contains(x: number, y: number): boolean;
getBounds(): Rectangle;
}
export class ColorMatrixFilter extends AbstractFilter {
matrix: Matrix;
}
export class ColorStepFilter extends AbstractFilter {
step: number;
}
export class CrossHatchFilter extends AbstractFilter {
blur: number;
}
export class DisplacementFilter extends AbstractFilter {
constructor(texture: Texture);
map: Texture;
offset: Point;
scale: Point;
}
export class DotScreenFilter extends AbstractFilter {
angle: number;
scale: Point;
}
export class DisplayObject {
alpha: number;
buttonMode: boolean;
cacheAsBitmap: boolean;
defaultCursor: string;
filterArea: Rectangle;
filters: AbstractFilter[];
hitArea: HitArea;
interactive: boolean;
mask: Graphics;
parent: DisplayObjectContainer;
pivot: Point;
position: Point;
renderable: boolean;
rotation: number;
scale: Point;
stage: Stage;
visible: boolean;
worldAlpha: number;
worldVisible: boolean;
x: number;
y: number;
click(e: InteractionData): void;
getBounds(matrix?: Matrix): Rectangle;
getLocalBounds(): Rectangle;
generateTexture(resolution: number, scaleMode: scaleModes, renderer: PixiRenderer): RenderTexture;
mousedown(e: InteractionData): void;
mouseout(e: InteractionData): void;
mouseover(e: InteractionData): void;
mouseup(e: InteractionData): void;
mouseupoutside(e: InteractionData): void;
rightclick(e: InteractionData): void;
rightdown(e: InteractionData): void;
rightup(e: InteractionData): void;
rightupoutside(e: InteractionData): void;
setStageReference(stage: Stage): void;
tap(e: InteractionData): void;
toGlobal(pos: Point): Point;
toLocal(pos: Point, from: DisplayObject): Point;
touchend(e: InteractionData): void;
touchendoutside(e: InteractionData): void;
touchstart(e: InteractionData): void;
}
export class DisplayObjectContainer extends DisplayObject {
constructor();
children: DisplayObject[];
height: number;
width: number;
addChild(child: DisplayObject): void;
addChildAt(child: DisplayObject, index: number): void;
getChildAt(index: number): DisplayObject;
getChildIndex(child: DisplayObject): number;
removeChild(child: DisplayObject): DisplayObject;
removeChildAt(index: number): DisplayObject;
removeChildren(beginIndex?: number, endIndex?: number): DisplayObject[];
removeStageReference(): void;
setChildIndex(child: DisplayObject, index: number): void;
}
export class Ellipse implements HitArea {
constructor(x: number, y: number, width: number, height: number);
x: number;
y: number;
width: number;
height: number;
clone(): Ellipse;
contains(x: number, y: number): boolean;
getBounds(): Rectangle;
}
export class EventTarget {
listeners: { [key: string]: IEventCallback[] };
addEventListener(type: string, listener: IEventCallback): void;
dispatchEvent(event: IEvent): void;
removeAllEventListeners(type: string): void;
removeEventListener(type: string, listener: IEventCallback): void;
}
export class FilterTexture {
constructor(gl: WebGLRenderingContext, width: number, height: number, scaleMode: scaleModes);
fragmentSrc: string[];
frameBuffer: WebGLFramebuffer;
gl: WebGLRenderingContext;
program: WebGLProgram;
scaleMode: scaleModes;
clear(): void;
resize(width: number, height: number): void;
destroy(): void;
}
export class Graphics extends DisplayObjectContainer {
bounds: Rectangle;
blendMode: number;
boundsPadding: number;
fillAlpha: number;
isMask: boolean;
lineWidth: number;
lineColor: string;
tint: number;
arc(cx: number, cy: number, radius: number, startAngle: number, endAngle: number, anticlockwise: boolean): Graphics;
arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): Graphics;
beginFill(color: number, alpha?: number): void;
bezierCurveTo(cpX: number, cpY: number, cpX2: number, cpY2: number, toX: number, toY: number): Graphics;
clear(): void;
destroyCachedSprite(): void;
drawCircle(x: number, y: number, radius: number): void;
drawEllipse(x: number, y: number, width: number, height: number): void;
drawPath(path: any): void;
drawRect(x: number, y: number, width: number, height: number): void;
drawRoundedRect(x: number, y: number, width: number, height: number, radius: number): Graphics;
endFill(): void;
lineStyle(lineWidth: number, color: number, alpha: number): void;
lineTo(x: number, y: number): void;
moveTo(x: number, y: number): void;
quadraticCurveTo(cpX: number, cpY: number, toX: number, toY: number): Graphics;
updateBounds(): void;
}
export class GrayFilter extends AbstractFilter {
gray: number;
}
export class ImageLoader extends EventTarget {
constructor(url: string, crossorigin?: boolean);
texture: Texture;
load(): void;
loadFramedSpriteSheet(frameWidth: number, frameHeight: number, textureName: string): void;
}
export class InteractionData {
global: Point;
target: Sprite;
originalEvent: Event;
getLocalPosition(displayObject: DisplayObject): Point;
}
export class InteractionManager {
currentCursorStyle: string;
mouse: InteractionData;
mouseOut: boolean;
mouseoverEnabled: boolean;
pool: InteractionData[];
resolution: number;
stage: Stage;
touchs: { [id: string]: InteractionData };
constructor(stage: Stage);
}
export class InvertFilter extends AbstractFilter {
invert: number;
}
export class JsonLoader extends EventTarget {
constructor(url: string, crossorigin?: boolean);
baseUrl: string;
crossorigin: boolean;
loaded: boolean;
url: string;
load(): void;
}
export class Matrix {
a: number;
b: number;
c: number;
d: number;
tx: number;
ty: number;
apply(pos: Point, newPos: Point): Point;
applyInverse(pos: Point, newPos: Point): Point;
determineMatrixArrayType(): number[];
rotate(angle: number): Matrix;
fromArray(array: number[]): void;
translate(x: number, y: number): Matrix;
toArray(transpose: boolean): number[];
scale(x: number, y: number): Matrix;
}
export class MovieClip extends Sprite {
static fromFrames(frames: string[]): MovieClip;
static fromImages(images: HTMLImageElement[]): HTMLImageElement;
constructor(textures: Texture[]);
animationSpeed: number;
currentFrame: number;
loop: boolean;
playing: boolean;
textures: Texture[];
totalFrames: number;
gotoAndPlay(frameNumber: number): void;
gotoAndStop(frameNumber: number): void;
onComplete(): void;
play(): void;
stop(): void;
}
export class NoiseFilter extends AbstractFilter {
noise: number;
}
export class NormalMapFilter extends AbstractFilter {
map: Texture;
offset: Point;
scale: Point;
}
export class PixelateFilter extends AbstractFilter {
size: number;
}
export class PixiShader {
constructor(gl: WebGLRenderingContext);
defaultVertexSrc: string;
fragmentSrc: string[];
gl: WebGLRenderingContext;
program: WebGLProgram;
textureCount: number;
attributes: ShaderAttribute[];
destroy(): void;
init(): void;
initSampler2D(): void;
initUniforms(): void;
syncUniforms(): void;
}
export class Point {
constructor(x?: number, y?: number);
x: number;
y: number;
clone(): Point;
set(x: number, y: number): void;
}
export class Polygon implements HitArea {
constructor(points: Point[]);
constructor(points: number[]);
constructor(...points: Point[]);
constructor(...points: number[]);
points: Point[];
clone(): Polygon;
contains(x: number, y: number): boolean;
}
export class Rectangle implements HitArea {
constructor(x?: number, y?: number, width?: number, height?: number);
x: number;
y: number;
width: number;
height: number;
clone(): Rectangle;
contains(x: number, y: number): boolean;
}
export class RGBSplitFilter extends AbstractFilter {
angle: number;
}
export class Rope extends Strip {
points: Point[];
constructor(texture: Texture, points: Point[]);
refresh(): void;
setTexture(texture: Texture): void;
}
export class SepiaFilter extends AbstractFilter {
sepia: number;
}
export class SmartBlurFilter extends AbstractFilter {
blur: number;
}
export class Spine extends DisplayObjectContainer {
constructor(url: string);
createSprite(slot: any, descriptior: any): void;
}
export class Sprite extends DisplayObjectContainer {
static fromFrame(frameId: string): Sprite;
static fromImage(url: string, crossorigin?: boolean, scaleMode?: scaleModes): Sprite;
constructor(texture: Texture);
anchor: Point;
blendMode: blendModes;
texture: Texture;
tint: number;
setTexture(texture: Texture): void;
}
export class SpriteBatch extends DisplayObjectContainer {
constructor(texture?: Texture);
ready: boolean;
textureThing: Texture;
initWebGL(gl: WebGLRenderingContext): void;
}
export class SpriteSheetLoader extends EventTarget {
constructor(url: string, crossorigin?: boolean);
baseUrl: string;
crossorigin: boolean;
frames: any;
texture: Texture;
url: string;
load(): void;
}
export class Stage extends DisplayObjectContainer {
constructor(backgroundColor: number);
interactionManager: InteractionManager;
getMousePosition(): Point;
setBackgroundColor(backgroundColor: number): void;
setInteractionDelegate(domElement: HTMLElement): void;
}
export class Strip extends DisplayObjectContainer {
constructor(texture: Texture);
colors: number[];
dirty: boolean;
indices: number[];
padding: number;
texture: Texture;
uvs: number[];
vertices: number[];
}
export class Text extends Sprite {
constructor(text: string, style?: TextStyle);
context: CanvasRenderingContext2D;
resolution: number;
destroy(destroyTexture: boolean): void;
setStyle(style: TextStyle): void;
setText(text: string): void;
}
export class Texture extends EventTarget {
static fromCanvas(canvas: HTMLCanvasElement, scaleMode?: scaleModes): Texture;
static fromFrame(frameId: string): Texture;
static fromImage(imageUrl: string, crossorigin?: boolean, scaleMode?: scaleModes): Texture;
static addTextureToCache(texture: Texture, id: string): void;
static removeTextureFromCache(id: string): Texture;
constructor(baseTexture: BaseTexture, frame?: Rectangle);
baseTexture: BaseTexture;
crop: Rectangle;
frame: Rectangle;
height: number;
noFrame: boolean;
trim: Point;
width: number;
scope: any;
valid: boolean;
destroy(destroyBase: boolean): void;
setFrame(frame: Rectangle): void;
}
export class TilingSprite extends Sprite {
constructor(texture: Texture, width: number, height: number);
blendMode: number;
texture: Texture;
tint: number;
tilePosition: Point;
tileScale: Point;
tileScaleOffset: Point;
generateTilingTexture(forcePowerOfTwo: boolean): void;
setTexture(texture: Texture): void;
}
export class TiltShiftFilter extends AbstractFilter {
blur: number;
gradientBlur: number;
start: number;
end: number;
}
export class TiltShiftXFilter extends AbstractFilter {
blur: number;
gradientBlur: number;
start: number;
end: number;
updateDelta(): void;
}
export class TiltShiftYFilter extends AbstractFilter {
blur: number;
gradientBlur: number;
start: number;
end: number;
updateDelta(): void;
}
export class TwistFilter extends AbstractFilter {
angle: number;
offset: Point;
radius: number;
}
export class WebGLBlendModeManager {
destroy(): void;
setBlendMode(blendMode: number): boolean;
}
export class WebGLFastSpriteBatch {
constructor(gl: WebGLRenderingContext);
currentBatchSize: number;
currentBaseTexture: any;
currentBlendMode: number;
renderSession: RenderSession;
drawing: boolean;
indexBuffer: any; //todo this is a WebGLBuffer?
indices: number[];
lastIndexCount: number;
matrix: any;
maxSize: number;
shader: any;
size: number;
vertexBuffer: any; //todo this is a WebGLBuffer?
vertices: number[];
vertSize: number;
end(): void;
begin(spriteBatch: SpriteBatch, renderSession: RenderSession): void;
flush(): void;
render(spriteBatch: SpriteBatch): void;
renderSprite(sprite: Sprite): void;
setContext(gl: WebGLRenderingContext): void;
start(): void;
stop(): void;
}
export class WebGLFilterManager {
constructor(gl: WebGLRenderingContext, transparent: boolean);
filterStack: AbstractFilter[];
transparent: boolean;
offsetX: number;
offsetY: number;
applyFilterPass(filter: AbstractFilter, filterArea: Texture, width: number, height: number): void;
begin(renderSession: RenderSession, buffer: ArrayBuffer): void;
destroy(): void;
initShaderBuffers(): void;
popFilter(): void;
pushFilter(filterBlock: FilterBlock): void;
setContext(gl: WebGLRenderingContext): void;
}
export class WebGLGraphics {
}
export class WebGLMaskManager {
constructor(gl: WebGLRenderingContext);
destroy(): void;
popMask(renderSession: RenderSession): void;
pushMask(maskData: any[], renderSession: RenderSession): void;
setContext(gl: WebGLRenderingContext): void;
}
export class WebGLRenderer implements PixiRenderer {
static createWebGLTexture(texture: Texture, gl: WebGLRenderingContext): void;
constructor(width?: number, height?: number, options?: PixiRendererOptions);
contextLost: boolean;
contextRestoreLost: boolean;
height: number;
gl: WebGLRenderingContext;
preserveDrawingBuffer: boolean;
resolution: number;
transparent: boolean;
type: number;
view: HTMLCanvasElement;
width: number;
destroy(): void;
render(stage: Stage): void;
renderDisplayObject(displayObject: DisplayObject, projection: Point, buffer: WebGLBuffer): void;
resize(width: number, height: number): void;
}
export class WebGLShaderManager {
destroy(): void;
setAttribs(attribs: ShaderAttribute[]): void;
setContext(gl: WebGLRenderingContext): void;
setShader(shader: WebGLShader): boolean;
}
export class WebGLStencilManager {
constructor(gl: WebGLRenderingContext);
stencilStack: any[];
reverse: boolean;
count: number;
destroy(): void;
setContext(gl: WebGLRenderingContext): void;
}
export class WebGLSpriteBatch {
constructor(gl: WebGLRenderingContext);
indices: number[];
size: number;
vertices: number[];
vertSize: number;
begin(renderSession: RenderSession): void;
destroy(): void;
end(): void;
flush(): void;
render(sprite: Sprite): void;
renderBatch(texture: Texture, size: number, startIndex: number): void;
renderTilingSprite(sprite: TilingSprite): void;
setBlendMode(blendMode: blendModes): void;
setContext(gl: WebGLRenderingContext): void;
start(): void;
stop(): void;
}
export class RenderTexture extends Texture {
constructor(width?: number, height?: number, renderer?: PixiRenderer, scaleMode?: scaleModes, resolution?: number);
frame: Rectangle;
baseTexture: BaseTexture;
renderer: PixiRenderer;
resolution: number;
clear(): void;
resize(width: number, height: number, updateBase: boolean): void;
render(displayObject: DisplayObject, position?: Point, clear?: boolean): void;
}
}
declare function requestAnimFrame(): void;
declare module PIXI.PolyK {
export function Triangulate(p: number[]): number[];
}
declare class Phaser {
static VERSION: string;
static DEV_VERSION: string;
static GAMES: Phaser.Game[];
static AUTO: number;
static CANVAS: number;
static WEBGL: number;
static HEADLESS: number;
static BITMAPDATA: number;
static BITMAPTEXT: number;
static BUTTON: number;
static CANVAS_FILTER: number;
static ELLIPSE: number;
static EMITTER: number;
static GRAPHICS: number;
static GROUP: number;
static IMAGE: number;
static POINTER: number;
static POLYGON: number;
static RENDERTEXTURE: number;
static RETROFONT: number;
static SPRITE: number;
static SPRITEBATCH: number;
static TEXT: number;
static TILEMAP: number;
static TILEMAPLAYER: number;
static TILESPRITE: number;
static WEBGL_FILTER: number;
static ROPE: number;
static NONE: number;
static LEFT: number;
static RIGHT: number;
static UP: number;
static DOWN: number;
}
declare module Phaser {
class Animation {
constructor(game: Phaser.Game, parent: Phaser.Sprite, name: string, frameData: Phaser.FrameData, frames: any[], delay: number, loop: boolean);
currentAnim: Phaser.Animation;
currentFrame: Phaser.Frame;
delay: number;
enableUpdate: boolean;
frame: number;
frameTotal: number;
game: Phaser.Game;
isFinished: boolean;
isPaused: boolean;
isPlaying: boolean;
killOnComplete: boolean;
loop: boolean;
loopCount: number;
name: string;
onComplete: Phaser.Signal;
onLoop: Phaser.Signal;
onStart: Phaser.Signal;
onUpdate: Phaser.Signal;
paused: boolean;
speed: number;
complete(): void;
destroy(): void;
static generateFrameNames(prefix: string, start: number, stop: number, suffix?: string, zeroPad?: number): string[];
next(quantity?: number): void;
onPause(): void;
onResume(): void;
play(frameRate?: number, loop?: boolean, killOnComplete?: boolean): Phaser.Animation;
previous(quantity?: number): void;
restart(): void;
setFrame(frameId?: any, useLocalFrameIndex?: boolean): void;
stop(resetFrame?: boolean, dispatchComplete?: boolean): void;
update(): boolean;
updateFrameData(frameData: FrameData): void;
}
class AnimationManager {
constructor(sprite: Phaser.Sprite);
currentAnim: Phaser.Animation;
currentFrame: Phaser.Frame;
frame: number;
frameData: Phaser.FrameData;
frameName: string;
frameTotal: number;
game: Phaser.Game;
isLoaded: boolean;
name: string;
paused: boolean;
sprite: Phaser.Sprite;
updateIfVisible: boolean;
add(name: string, frames?: any[], frameRate?: number, loop?: boolean, useNumericIndex?: boolean): Phaser.Animation;
copyFrameData(frameData: Phaser.FrameData, frame: any): boolean;
destroy(): void;
getAnimation(name: string): Phaser.Animation;
next(quantity?: number): void;
play(name: string, frameRate?: number, loop?: boolean, killOnComplete?: boolean): Phaser.Animation;
previous(quantity?: number): void;
refreshFrame(): void;
stop(name?: string, resetFrame?: boolean): void;
update(): boolean;
validateFrames(frames: Phaser.Frame[], useNumericIndex?: boolean): boolean;
}
class AnimationParser {
static JSONData(game: Phaser.Game, json: any, cacheKey: string): Phaser.FrameData;
static JSONDataHash(game: Phaser.Game, json: any, cacheKey: string): Phaser.FrameData;
static spriteSheet(game: Phaser.Game, key: string, frameWidth: number, frameHeight: number, frameMax?: number, margin?: number, spacing?: number): Phaser.FrameData;
static XMLData(game: Phaser.Game, xml: any, cacheKey: string): Phaser.FrameData;
}
class AudioSprite {
constructor(game: Phaser.Game, key: string);
game: Phaser.Game;
key: string;
config: any;
autoplayKey: string;
autoplay: boolean;
sounds: any;
get(marker: string): Phaser.Sound;
play(marker: string, volume?: number): Phaser.Sound;
stop(marker: string): Phaser.Sound;
}
class ArrayList {
first: any;
list: any[];
next: any;
position: number;
total: number;
add(child: any): any;
callAll(callback: Function, ...parameters: any[]): void;
exists(child: any): boolean;
getIndex(child: any): number;
remove(child: any): any;
reset(): void;
setAll(key: any, value: any): void;
}
class BitmapData {
constructor(game: Phaser.Game, key: string, width?: number, height?: number);
baseTexture: PIXI.BaseTexture;
buffer: ArrayBuffer;
canvas: HTMLCanvasElement;
context: CanvasRenderingContext2D;
ctx: CanvasRenderingContext2D;
data: Uint8Array;
dirty: boolean;
disableTextureUpload: boolean;
game: Phaser.Game;
height: number;
imageData: ImageData;
key: string;
pixels: Uint32Array;
smoothed: boolean;
texture: PIXI.Texture;
textureFrame: Phaser.Frame;
type: number;
width: number;
static getTransform(translateX: number, translateY: number, scaleX: number, scaleY: number, skewX: number, skewY: number): any;
add(object: any): Phaser.BitmapData;
addToWorld(x?: number, y?: number, anchorX?: number, anchorY?: number, scaleX?: number, scaleY?: number): Phaser.Image;
alphaMask(source: any, mask: any, sourceRect?: Phaser.Rectangle, maskRect?: Phaser.Rectangle): Phaser.BitmapData;
blendAdd(): Phaser.BitmapData;
blendColor(): Phaser.BitmapData;
blendColorBurn(): Phaser.BitmapData;
blendColorDodge(): Phaser.BitmapData;
blendDarken(): Phaser.BitmapData;
blendDestinationAtop(): Phaser.BitmapData;
blendDestinationIn(): Phaser.BitmapData;
blendDestinationOut(): Phaser.BitmapData;
blendDestinationOver(): Phaser.BitmapData;
blendDifference(): Phaser.BitmapData;
blendExclusion(): Phaser.BitmapData;
blendHardLight(): Phaser.BitmapData;
blendHue(): Phaser.BitmapData;
blendLighten(): Phaser.BitmapData;
blendLuminosity(): Phaser.BitmapData;
blendMultiply(): Phaser.BitmapData;
blendOverlay(): Phaser.BitmapData;
blendReset(): Phaser.BitmapData;
blendSaturation(): Phaser.BitmapData;
blendScreen(): Phaser.BitmapData;
blendSoftLight(): Phaser.BitmapData;
blendSourceAtop(): Phaser.BitmapData;
blendSourceIn(): Phaser.BitmapData;
blendSourceOut(): Phaser.BitmapData;
blendSourceOver(): Phaser.BitmapData;
blendXor(): Phaser.BitmapData;
circle(x: number, y: number, radius: number, fillStyle?: string): Phaser.BitmapData;
clear(): Phaser.BitmapData;
cls(): Phaser.BitmapData;
copy(source?: any, x?: number, y?: number, width?: number, height?: number, tx?: number, ty?: number, newWidth?: number, newHeight?: number, rotate?: number, anchorX?: number, anchorY?: number, scaleX?: number, scaleY?: number, alpha?: number, blendMode?: string, roundPx?: boolean): Phaser.BitmapData;
copyPixels(source: any, area: Phaser.Rectangle, x: number, y: number, alpha?: number): void;
copyRect(source: any, area: Phaser.Rectangle, x?: number, y?: number, alpha?: number, blendMode?: string, roundPx?: boolean): Phaser.BitmapData;
draw(source: any, x?: number, y?: number, width?: number, height?: number, blendMode?: string, roundPx?: boolean): Phaser.BitmapData;
extract(destination: Phaser.BitmapData, r: number, g: number, b: number, a?: number, resize?: boolean, r2?: number, g2?: number, b2?: number): Phaser.BitmapData;
fill(r: number, g: number, b: number, a?: number): Phaser.BitmapData;
getPixel(x: number, y: number, out?: any): number;
getPixelRGB(x: number, y: number, out?: any, hsl?: boolean, hsv?: boolean): any;
getPixel32(x: number, y: number): number;
getPixels(rect: Phaser.Rectangle): ImageData;
getTransform(translateX: number, translateY: number, scaleX: number, scaleY: number, skewX: number, skewY: number): any;
load(source: any): Phaser.BitmapData;
processPixel(callback: Function, callbackContext: any, x?: number, y?: Number, width?: number, height?: number): Phaser.BitmapData;
processPixelRGB(callback: Function, callbackContext: any, x?: number, y?: Number, width?: number, height?: number): Phaser.BitmapData;
rect(x: number, y: number, width: number, height: number, fillStyle?: string): Phaser.BitmapData;
render(): Phaser.BitmapData;
replaceRGB(r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number, region: Phaser.Rectangle): Phaser.BitmapData;
resize(width: number, height: number): Phaser.BitmapData;
setHSL(h?: number, s?: number, l?: number, region?: Phaser.Rectangle): Phaser.BitmapData;
setPixel(x: number, y: number, red: number, green: number, blue: number, immediate?: boolean): Phaser.BitmapData;
setPixel32(x: number, y: number, red: number, green: number, blue: number, alpha: number, immediate?: boolean): Phaser.BitmapData;
shadow(color: string, blur?: number, x?: number, y?: number): Phaser.BitmapData;
shiftHSL(h?: number, s?: number, l?: number, region?: Phaser.Rectangle): Phaser.BitmapData;
textureLine(line: Phaser.Line, key: string, repeat?: string): Phaser.BitmapData;
update(x: number, y: number, width: number, height: number): Phaser.BitmapData;
}
class BitmapText extends PIXI.BitmapText {
constructor(game: Phaser.Game, x: number, y: number, font: string, text?: string, size?: number);
align: string;
angle: number;
cameraOffset: Phaser.Point;
destroyPhase: boolean;
events: Phaser.Events;
exists: boolean;
fixedToCamera: boolean;
font: string;
fontSize: number;
game: Phaser.Game;
input: Phaser.InputHandler;
inputEnabled: boolean;
name: string;
position: Phaser.Point;
text: string;
tint: number;
type: number;
world: Phaser.Point;
z: number;
destroy(destroyChildren?: boolean): void;
postUpdate(): void;
preUpdate(): void;
update(): void;
updateText(): void;
updateTransform(): void;
}
class Button extends Phaser.Image {
constructor(game: Phaser.Game, x?: number, y?: number, key?: string, callback?: Function, callbackContext?: any, overFrame?: any, outFrame?: any, downFrame?: any, upFrame?: any);
forceOut: boolean;
freezeFrames: boolean;
onDownSound: Phaser.Sound;
onDownSoundMarker: string;
onInputDown: Phaser.Signal;
onInputOut: Phaser.Signal;
onInputOver: Phaser.Signal;
onInputUp: Phaser.Signal;
onOutSound: Phaser.Sound;
onOutSoundMarker: string;
onOverSound: Phaser.Sound;
onOverSoundMarker: string;
onOverMouseOnly: boolean;
onUpSound: Phaser.Sound;
onUpSoundMaker: string;
type: number;
clearFrames(): void;
setDownSound(sound: Phaser.Sound, marker?: string): void;
setFrames(overFrame?: any, outFrame?: any, downFrame?: any, upFrame?: any): void;
onInputDownHandler(sprite: Phaser.Button, pointer: Phaser.Pointer): void;
onInputUpHandler(sprite: Phaser.Button, pointer: Phaser.Pointer, isOver: boolean): void;
setOutSound(sound: Phaser.Sound, marker?: string): void;
setOverSound(sound: Phaser.Sound, marker?: string): void;
setSounds(overSound?: Phaser.Sound, overMarker?: string, downSound?: Phaser.Sound, downMarker?: string, outSound?: Phaser.Sound, outMarker?: string, upSound?: Phaser.Sound, upMarker?: string): void;
setState(newState: number): void;
setUpSound(sound: Phaser.Sound, marker?: string): void;
}
class Cache {
constructor(game: Phaser.Game);
static BINARY: number;
static BITMAPDATA: number;
static BITMAPFONT: number;
static CANVAS: number;
static IMAGE: number;
static JSON: number;
static PHYSICS: number;
static SOUND: number;
static TEXT: number;
static TEXTURE: number;
static TILEMAP: number;
static XML: number;
game: Phaser.Game;
onSoundUnlock: Phaser.Signal;
addBinary(key: string, binaryData: any): void;
addBitmapData(key: string, bitmapData: Phaser.BitmapData, frameData?: Phaser.FrameData): Phaser.BitmapData;
addBitmapFont(key: string, texture: Phaser.RetroFont): void;
addBitmapFont(key: string, url: string, data: any, xmlData: any, xSpacing?: number, ySpacing?: number): void;
addCanvas(key: string, canvas: HTMLCanvasElement, context: CanvasRenderingContext2D): void;
addDefaultImage(): void;
addImage(key: string, url: string, data: any): void;
addJSON(key: string, urL: string, data: any): void;
addMisingImage(): void;
addPhysicsData(key: string, url: string, JSONData: any, format: number): void;
addRenderTexture(key: string, texture: RenderTexture): void;
addSound(key: string, url: string, data: any, webAudio: boolean, audioTag: boolean): void;
addSpriteSheet(key: string, url: string, data: any, frameWidth: number, frameHeight: number, frameMax?: number, margin?: number, spacing?: number): void;
addText(key: string, url: string, data: any): void;
addTextureAtlas(key: string, url: string, data: any, atlasData: any, format: number): void;
addTilemap(key: string, url: string, mapData: any, format: number): void;
addXML(key: string, url: string, data: any): void;
checkBinaryKey(key: string): boolean;
checkBitmapDataKey(key: string): boolean;
checkBitmapFontKey(key: string): boolean;
checkCanvasKey(key: string): boolean;
checkImageKey(key: string): boolean;
checkJSONKey(key: string): boolean;
checkKey(type: number, key: string): boolean;
checkPhysicsKey(key: string): boolean;
checkSoundKey(key: string): boolean;
checkTextKey(key: string): boolean;
checkTextureKey(key: string): boolean;
checkTilemapKey(key: string): boolean;
checkUrl(url: string): any;
checkXMLKey(key: string): boolean;
decodedSound(key: string, data: any): void;
destroy(): void;
getBinary(key: string): any;
getBitmapData(key: string): Phaser.BitmapData;
getBitmapFont(key: string): Phaser.RetroFont;
getCanvas(key: string): any;
getFrame(key: string): Phaser.Frame;
getFrameByIndex(key: string, frame: string): Phaser.Frame;
getFrameByName(key: string, frame: string): Phaser.Frame;
getFrameCount(key: string): number;
getFrameData(key: string, map?: string): Phaser.FrameData;
getImage(key: string): any;
getJSON(key: string): any;
getKeys(array: string[]): string[];
getPhysicsData(key: string, object?: string, fixtureKey?: string): any[];
getSound(key: string): Phaser.Sound;
getSoundData(key: string): any;
getText(key: string): string;
getTextKeys(): string[];
getTexture(key: string): Phaser.RenderTexture;
getTextureFrame(key: string): Phaser.Frame;
getTilemap(key: string): any;
getTilemapData(key: string): any;
getUrl(url: string): any;
getXML(key: string): any;
isSoundDecoded(key: string): boolean;
isSoundReady(key: string): boolean;
isSpriteSheet(key: string): boolean;
reloadSound(key: string): void;
reloadSoundComplete(key: string): void;
removeBinary(key: string): void;
removeBitmapData(key: string): void;
removeBitmapFont(key: string): void;
removeCanvas(key: string): void;
removeImage(key: string, removeFromPixi?: boolean): void;
removeJSON(key: string): void;
removePhysics(key: string): void;
removeSound(key: string): void;
removeText(key: string): void;
removeTilemap(key: string): void;
removeXML(key: string): void;
updateFrameData(key: string, frameData: any): void;
updateSound(key: string, property: string, value: Phaser.Sound): void;
}
class Camera {
constructor(game: Phaser.Game, id: number, x: number, y: number, width: number, height: number);
static FOLLOW_LOCKON: number;
static FOLLOW_PLATFORMER: number;
static FOLLOW_TOPDOWN: number;
static FOLLOW_TOPDOWN_TIGHT: number;
atLimit: { x: boolean; y: boolean; };
bounds: Phaser.Rectangle;
deadzone: Phaser.Rectangle;
displayObject: PIXI.DisplayObject;
id: number;
game: Phaser.Game;
height: number;
position: Phaser.Point;
roundPx: boolean;
scale: Phaser.Point;
screenView: Phaser.Rectangle;
target: Phaser.Sprite;
view: Phaser.Rectangle;
visible: boolean;
width: number;
world: Phaser.World;
x: number;
y: number;
checkBounds(): void;
focusOn(displayObject: any): void;
focusOnXY(x: number, y: number): void;
follow(target: Phaser.Sprite, style?: number): void;
reset(): void;
setBoundsToWorld(): void;
setPosition(x: number, y: number): void;
setSize(width: number, height: number): void;
update(): void;
}
class Canvas {
static addToDOM(canvas: HTMLCanvasElement, parent: any, overflowHidden?: boolean): HTMLCanvasElement;
static create(width?: number, height?: number, id?: string): HTMLCanvasElement;
static getAspectRatio(canvas: HTMLCanvasElement): number;
static getOffset(element: HTMLElement, point?: Phaser.Point): Phaser.Point;
static getSmoothngEnabled(context: CanvasRenderingContext2D): boolean;
static removeFromDOM(canvas: HTMLCanvasElement): void;
static setBackgroundColor(canvas: HTMLCanvasElement, color: string): HTMLCanvasElement;
static setImageRenderingBicubic(canvas: HTMLCanvasElement): HTMLCanvasElement;
static setImageRenderingCrisp(canvas: HTMLCanvasElement): HTMLCanvasElement;
static setSmoothingEnabled(context: CanvasRenderingContext2D, value: boolean): CanvasRenderingContext2D;
static setTouchAction(canvas: HTMLCanvasElement, value: string): HTMLCanvasElement;
static setTransform(context: CanvasRenderingContext2D, translateX: number, translateY: number, scaleX: number, scaleY: number, skewX: number, skewY: number): CanvasRenderingContext2D;
static setUserSelect(canvas: HTMLCanvasElement, value?: string): HTMLCanvasElement;
}
class Circle {
constructor(x?: number, y?: number, diameter?: number);
area: number;
bottom: number;
diameter: number;
empty: boolean;
left: number;
radius: number;
right: number;
top: number;
x: number;
y: number;
static circumferencePoint(a: Phaser.Circle, angle: number, asDegrees: boolean, out?: Phaser.Point): Phaser.Point;
static contains(a: Phaser.Circle, x: number, y: number): boolean;
static equals(a: Phaser.Circle, b: Phaser.Circle): boolean;
static intersects(a: Phaser.Circle, b: Phaser.Circle): boolean;
static intersectsRectangle(c: Phaser.Circle, r: Phaser.Rectangle): boolean;
circumference(): number;
circumferencePoint(angle: number, asDegrees?: boolean, out?: Phaser.Point): Phaser.Point;
clone(output: Phaser.Circle): Phaser.Circle;
contains(x: number, y: number): boolean;
copyFrom(source: any): Circle;
copyTo(dest: any): any;
distance(dest: any, round?: boolean): number;
offset(dx: number, dy: number): Phaser.Circle;
offsetPoint(point: Phaser.Point): Phaser.Circle;
setTo(x: number, y: number, diameter: number): Circle;
toString(): string;
}
class Color {
static componentToHex(color: number): string;
static createColor(r?: number, g?: number, b?: number, a?: number, h?: number, s?: number, l?: number, v?: number): any;
static fromRGBA(rgba: number, out?: any): any;
static getAlpha(color: number): number;
static getAlphaFloat(color: number): number;
static getBlue(color: number): number;
static getColor(red: number, green: number, blue: number): number;
static getColor32(alpha: number, red: number, green: number, blue: number): number;
static getGreen(color: number): number;
static getRandomColor(min?: number, max?: number, alpha?: number): number;
static getRed(color: number): number;
static getRGB(color: number): any;
static getWebRGB(color: any): string;
static hexToRGB(h: string): number;
static hexToColor(hex: string, out?: any): any;
static HSLtoRGB(h: number, s: number, l: number, out?: any): any;
static HSLColorWheel(s?: number, l?: number): any[];
static HSVtoRGB(h: number, s: number, v: number, out?: any): any;
static HSVColorWheel(s?: number, v?: number): any[];
static hueToColor(p: number, q: number, t: number): number;
static interpolateColor(color1: number, color2: number, steps: number, currentStep: number, alpha: number): number;
static interpolateColorWithRGB(color: number, r: number, g: number, b: number, steps: number, currentStep: number): number;
static interpolateRGB(r1: number, g1: number, b1: number, r2: number, g2: number, b2: number, steps: number, currentStep: number): number;
static packPixel(r: number, g: number, b: number, a: number): number;
static RGBtoHSL(r: number, g: number, b: number, out?: any): any;
static RGBtoHSV(r: number, g: number, b: number, out?: any): any;
static RGBtoString(r: number, g: number, b: number, a?: number, prefix?: string): str