motion-and-tween
Version:
Motion and Tween
54 lines (53 loc) • 1.73 kB
TypeScript
import { TweenForDurationParams, type TweenAtTimeParams } from "../tween/Tween.js";
export interface MotionProps {
obj: any;
propertyToChange: string;
beginValue?: number;
actionDuration?: number;
valueChange?: number | null;
}
export declare class Motion {
protected obj: any;
protected propertyToChange: string;
protected _beginValue: number;
protected _actionDuration: number;
protected _listeners: any[];
protected _currentTime: number;
protected _prevPos: any;
protected _pos: any;
protected _isLooping: boolean;
protected _startTime: number;
protected _valueChange: number | null;
constructor({ obj, propertyToChange, beginValue, actionDuration, valueChange, }: MotionProps);
getElapsedTime(): number;
start(): void;
stop(): void;
resume(): void;
rewind(t?: number): void;
protected addListener(listener: any): void;
nextFrame(): void;
prevFrame(): void;
setTime(t: number): void;
getTime(): number;
setBegin(b: number): void;
getBegin(): number;
setActionDuration(d: number): void;
getActionDuration(): number;
setIsLooping(b: boolean): void;
getIsLooping(): boolean;
setObj(obj: any): void;
getObj(): typeof this.obj;
setProp(prop: any): void;
getProp(): string;
expandParams(params?: null | undefined | TweenAtTimeParams | TweenForDurationParams): {
lastT: number;
nextT: number;
beginValue: number;
valueChange: number;
actionDuration: number;
};
update(params?: TweenAtTimeParams | undefined | null): typeof this.obj;
protected removeListener(listener: any): void;
toString(): string;
}
export default Motion;