You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
import { AnimationEasing } from './easing';
|
|
import type Animation from './Animation';
|
|
declare type OnframeCallback = (percent: number) => void;
|
|
declare type ondestroyCallback = () => void;
|
|
declare type onrestartCallback = () => void;
|
|
export declare type DeferredEventTypes = 'destroy' | 'restart';
|
|
export interface ClipProps {
|
|
life?: number;
|
|
delay?: number;
|
|
loop?: boolean;
|
|
easing?: AnimationEasing;
|
|
onframe?: OnframeCallback;
|
|
ondestroy?: ondestroyCallback;
|
|
onrestart?: onrestartCallback;
|
|
}
|
|
export default class Clip {
|
|
private _life;
|
|
private _delay;
|
|
private _inited;
|
|
private _startTime;
|
|
private _pausedTime;
|
|
private _paused;
|
|
animation: Animation;
|
|
loop: boolean;
|
|
easing: AnimationEasing;
|
|
easingFunc: (p: number) => number;
|
|
next: Clip;
|
|
prev: Clip;
|
|
onframe: OnframeCallback;
|
|
ondestroy: ondestroyCallback;
|
|
onrestart: onrestartCallback;
|
|
constructor(opts: ClipProps);
|
|
step(globalTime: number, deltaTime: number): boolean;
|
|
pause(): void;
|
|
resume(): void;
|
|
setEasing(easing: AnimationEasing): void;
|
|
}
|
|
export {};
|