playable.js
Version:
A lightweight HTML5 game engine.
50 lines (49 loc) • 1.72 kB
TypeScript
import { Layer } from '../display/Layer';
import { Event } from '../event/Event';
import { EventEmitter } from '../event/EventEmitter';
export declare class Tween extends EventEmitter {
loop: boolean;
protected $target: Layer;
protected $paused: boolean;
protected $stopped: boolean;
protected $stepIndex: number;
protected $stepPosition: number;
protected $steps: Array<TweenStep>;
protected $stepProps: Array<Object>;
protected $shouldSaveProps: boolean;
protected $boundOnEnterFrame: () => void;
protected constructor(target: Layer, option?: TweenOption);
get paused(): boolean;
get stopped(): boolean;
set(props: Object): this;
to(props: Object, duration: number, ease?: Function): this;
wait(duration: number): this;
call(callback: Function): this;
play(): this;
pause(): this;
resume(): this;
stop(): this;
protected $onEnterFrame(e: Event): void;
protected $nextFrame(dt: number): void;
protected $saveOriginalProps(stepIndex: number, props: Object): void;
protected $easeProps(stepIndex: number, props: Object, position: number, duration: number, ease: Function): void;
protected $setProps(props: Object): void;
protected static readonly $tweens: Array<Tween>;
static get(target: Layer, option?: {
loop?: boolean;
}): Tween;
static pauseTweens(target: Layer): void;
static resumeTweens(target: Layer): void;
static removeTweens(target: Layer): void;
static removeAllTweens(): void;
}
export interface TweenStep {
type: string;
props?: Object;
duration?: number;
ease?: Function;
callback?: Function;
}
export interface TweenOption {
loop?: boolean;
}