@awayjs/scene
Version:
AwayJS scene classes
150 lines • 5.13 kB
TypeScript
import { WaveAudio, EventBase } from '@awayjs/core';
import { Timeline } from '../base/Timeline';
import { DisplayObject } from './DisplayObject';
import { Sprite } from './Sprite';
interface IScene {
offset: number;
name: string;
labels: ILabel[];
numFrames: number;
}
interface ILabel {
frame: number;
name: string;
}
export declare class MovieClip extends Sprite {
static movieClipSoundsManagerClass: any;
private static _movieClips;
private static _activeSounds;
static stopSounds(sound?: WaveAudio): void;
static assetType: string;
static getNewMovieClip(timeline: Timeline): MovieClip;
static clearPool(): void;
symbolID: number;
preventScript: boolean;
private _timeline;
private _scenes;
private _buttonMode;
private _isButton;
private _onMouseOver;
private _onMouseOut;
private _onMouseDown;
private _onMouseUp;
private _onMouseUpOutside;
private _time;
private _currentFrameIndex;
private _isPlaying;
private _currentSceneIndex;
private _sceneDirty;
private _skipAdvance;
private _isInit;
_sessionID_childs: NumberMap<DisplayObject>;
private _sounds;
_useHandCursor: boolean;
private _soundVolume;
private _skipFramesForStream;
private _soundStreams;
/**
* Mark that operation provided by timeline except a script, some operation not allowed from script
* `removeChild` should not remove a child name
* @private
*/
private _isTimelinePass;
/**
* Some symbols can be a sprite. This means that when we spawn it, we should track only first frame.
* @private
*/
private _isSprite;
get isSprite(): boolean;
buttonEnabled: boolean;
initSoundStream(streamInfo: any, maxFrameNum: number): void;
addSoundStreamBlock(frameNum: number, streamBlock: any): void;
private stopCurrentStream;
private resetStreamStopped;
private _syncSounds;
constructor(timeline: Timeline, spriteMode?: boolean);
/**
* Reduce frames of timeline to sprite mode.
* Used for UIComponents, where timeline store more that 1 frame
*/
transformToSprite(): void;
startSound(sound: WaveAudio, loopsToPlay: number, onSoundComplete?: (event: EventBase) => void): void;
stopSounds(sound?: WaveAudio): void;
/**
* Compute scene index by global frame index
* @param frameIndex
* @private
*/
private getSceneIndexByFrame;
private getSceneIndex;
set currentSceneName(scene: string);
get currentSceneName(): string;
get currentScene(): IScene;
get scenes(): IScene[];
set scenes(value: IScene[]);
get isPlaying(): boolean;
get soundVolume(): number;
set soundVolume(value: number);
stopSound(sound: WaveAudio): void;
buttonReset(): void;
getMouseCursor(): string;
queueFrameScripts(timeline: Timeline, frame_idx: number, scriptPass1: boolean): void;
registerScriptObject(child: DisplayObject): void;
unregisterScriptObject(child: DisplayObject): void;
dispose(): void;
disposeValues(): void;
get useHandCursor(): boolean;
set useHandCursor(value: boolean);
get buttonMode(): boolean;
set buttonMode(value: boolean);
get isButton(): boolean;
set isButton(value: boolean);
get isInit(): boolean;
set isInit(value: boolean);
get timeline(): Timeline;
set timeline(value: Timeline);
/**
*
*/
loop: boolean;
get numFrames(): number;
jumpToLabel(label: string, offset?: number): boolean;
/**
* the current index of the current active frame
*/
constructedKeyFrameIndex: number;
reset(fireScripts?: boolean, resetSelf?: boolean): void;
set currentFrameIndex(value: number);
get currentFrameIndex(): number;
get currentFrameIndexRelative(): number;
set currentFrameIndexRelative(value: number);
jumpToIndex(value: number, sceneIndex?: string | number): boolean;
addButtonListeners(): void;
removeButtonListeners(): void;
getTimelineChildAtSessionID(sessionID: number): DisplayObject;
constructFrame(timeline: Timeline, start_construct_idx: number, target_keyframe_idx: number, jump_forward: boolean, frame_idx: number, queue_pass2: boolean, queue_script: boolean): void;
addTimelineChildAtDepth(child: DisplayObject, depth: number, sessionID: number): DisplayObject;
removeTimelineChildAtDepth(depth: number): void;
removeChildAtInternal(index: number): DisplayObject;
get assetType(): string;
/**
* Starts playback of animation from current position
*/
play(): void;
/**
* Stop playback of animation and hold current position
*/
stop(): void;
clone(): MovieClip;
copyTo(movieClip: MovieClip): void;
advanceFrameInternal(): void;
advanceFrame(): void;
logHierarchy(depth?: number): void;
printHierarchyName(depth: number, target: DisplayObject): void;
clear(): void;
private _onChannelCompleteStopError;
private _stopChannels;
private _removeSound;
}
export {};
//# sourceMappingURL=MovieClip.d.ts.map