import Timeline from "./Timeline"; import Sprite from "./Sprite"; import Scene from "./Scene"; import FrameLabel from "./FrameLabel"; declare namespace openfl.display { /** * The MovieClip class inherits from the following classes: Sprite, * DisplayObjectContainer, InteractiveObject, DisplayObject, and * EventDispatcher. * * Unlike the Sprite object, a MovieClip object has a timeline. * * In Flash Professional, the methods for the MovieClip class provide the * same functionality as actions that target movie clips. Some additional * methods do not have equivalent actions in the Actions toolbox in the * Actions panel in the Flash authoring tool. * * Children instances placed on the Stage in Flash Professional cannot be * accessed by code from within the constructor of a parent instance since * they have not been created at that point in code execution. Before * accessing the child, the parent must instead either create the child * instance by code or delay access to a callback function that listens for * the child to dispatch its `Event.ADDED_TO_STAGE` event. * * If you modify any of the following properties of a MovieClip object that * contains a motion tween, the playhead is stopped in that MovieClip object: * `alpha`, `blendMode`, `filters`, * `height`, `opaqueBackground`, `rotation`, * `scaleX`, `scaleY`, `scale9Grid`, * `scrollRect`, `transform`, `visible`, * `width`, `x`, or `y`. However, it does not * stop the playhead in any child MovieClip objects of that MovieClip * object. * * **Note:** Flash Lite 4 supports the MovieClip.opaqueBackground * property only if FEATURE_BITMAPCACHE is defined. The default configuration * of Flash Lite 4 does not define FEATURE_BITMAPCACHE. To enable the * MovieClip.opaqueBackground property for a suitable device, define * FEATURE_BITMAPCACHE in your project. * * @see [Working with movie clips](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/) * @see [Working with movie clips](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/basics-of-movie-clips.html) * @see [Working with MovieClip objects](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/working-with-movieclip-objects.html) * @see [Controlling movie clip playback](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/controlling-movie-clip-playback.html) * @see [Display programming](https://books.openfl.org/openfl-developers-guide/display-programming/) * @see [Basics of display programming](https://books.openfl.org/openfl-developers-guide/display-programming/basics-of-display-programming.html) * @see [Core display classes](https://books.openfl.org/openfl-developers-guide/display-programming/core-display-classes.html) * */ export class MovieClip extends Sprite { /** * Creates a new MovieClip instance. After creating the MovieClip, call the * `addChild()` or `addChildAt()` method of a display * object container that is onstage. * */ constructor(); /** * Specifies the number of the frame in which the playhead is located in the * timeline of the MovieClip instance. If the movie clip has multiple scenes, * this value is the frame number in the current scene. * */ get currentFrame(): number; /** * The label at the current frame in the timeline of the MovieClip instance. * If the current frame has no label, `currentLabel` is * `null`. * */ get currentFrameLabel(): string; /** * The current label in which the playhead is located in the timeline of the * MovieClip instance. If the current frame has no label, * `currentLabel` is set to the name of the previous frame that * includes a label. If the current frame and previous frames do not include * a label, `currentLabel` returns `null`. * */ get currentLabel(): string; /** * Returns an array of FrameLabel objects from the current scene. If the * MovieClip instance does not use scenes, the array includes all frame * labels from the entire MovieClip instance. * */ get currentLabels(): Array; /** * The current scene in which the playhead is located in the timeline of * the MovieClip instance. * */ get currentScene(): Scene; /** * A Boolean value that indicates whether a movie clip is enabled. The * default value of `enabled` is `true`. If * `enabled` is set to `false`, the movie clip's Over, * Down, and Up frames are disabled. The movie clip continues to receive * events (for example, `mouseDown`, `mouseUp`, * `keyDown`, and `keyUp`). * * The `enabled` property governs only the button-like * properties of a movie clip. You can change the `enabled` * property at any time; the modified movie clip is immediately enabled or * disabled. If `enabled` is set to `false`, the object * is not included in automatic tab ordering. * */ get enabled(): boolean; set enabled(value: boolean) /** * The number of frames that are loaded from a streaming SWF file. You can * use the `framesLoaded` property to determine whether the * contents of a specific frame and all the frames before it loaded and are * available locally in the browser. You can also use it to monitor the * downloading of large SWF files. For example, you might want to display a * message to users indicating that the SWF file is loading until a specified * frame in the SWF file finishes loading. * * If the movie clip contains multiple scenes, the * `framesLoaded` property returns the number of frames loaded for * _all_ scenes in the movie clip. * */ get framesLoaded(): number; /** * A Boolean value that indicates whether a movie clip is curently playing. * */ get isPlaying(): boolean; /** * An array of Scene objects, each listing the name, the number of frames, * and the frame labels for a scene in the MovieClip instance. * */ get scenes(): Array; /** * The total number of frames in the MovieClip instance. * * If the movie clip contains multiple frames, the * `totalFrames` property returns the total number of frames in * _all_ scenes in the movie clip. * */ get totalFrames(): number; /** * Adds a new FrameScript to this MovieClip. * * The FrameScript will be executed automatically when the * MovieClip enters the specified frame. * * This is only functional if this MovieClip has an attached * Timeline. * * @param index A zero-based index referencing a frame * @param method A method to be called entering the requested frame. * */ addFrameScript(index: number, method: () => void): void; /** * Attaches a Timeline to this MovieClip. * * MovieClips that contain a Timeline can play(), stop() and can * include FrameScripts. * * @param timeline A Timeline object * */ attachTimeline(timeline: Timeline): void; /** * Starts playing the SWF file at the specified frame. This happens after all * remaining actions in the frame have finished executing. To specify a scene * as well as a frame, specify a value for the `scene` parameter. * * @param frame A number representing the frame number, or a string * representing the label of the frame, to which the playhead is * sent. If you specify a number, it is relative to the scene * you specify. If you do not specify a scene, the current scene * determines the global frame number to play. If you do specify * a scene, the playhead jumps to the frame number in the * specified scene. * @param scene The name of the scene to play. This parameter is optional. * * @see [Controlling movie clip playback](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/controlling-movie-clip-playback.html) * */ gotoAndPlay(frame: any, scene?: string): void; /** * Brings the playhead to the specified frame of the movie clip and stops it * there. This happens after all remaining actions in the frame have finished * executing. If you want to specify a scene in addition to a frame, specify * a `scene` parameter. * * @param frame A number representing the frame number, or a string * representing the label of the frame, to which the playhead is * sent. If you specify a number, it is relative to the scene * you specify. If you do not specify a scene, the current scene * determines the global frame number at which to go to and * stop. If you do specify a scene, the playhead goes to the * frame number in the specified scene and stops. * @param scene The name of the scene. This parameter is optional. * @throws ArgumentError If the `scene` or `frame` * specified are not found in this movie clip. * * @see [Controlling movie clip playback](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/controlling-movie-clip-playback.html) * */ gotoAndStop(frame: any, scene?: string): void; /** * Sends the playhead to the next frame and stops it. This happens after all * remaining actions in the frame have finished executing. * * @see [Controlling movie clip playback](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/controlling-movie-clip-playback.html) * */ nextFrame(): void; nextScene(): void; /** * Moves the playhead in the timeline of the movie clip. * * @see [Controlling movie clip playback](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/controlling-movie-clip-playback.html) * */ play(): void; /** * Sends the playhead to the previous frame and stops it. This happens after * all remaining actions in the frame have finished executing. * * @see [Controlling movie clip playback](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/controlling-movie-clip-playback.html) * */ prevFrame(): void; prevScene(): void; /** * Stops the playhead in the movie clip. * * @see [Controlling movie clip playback](https://books.openfl.org/openfl-developers-guide/working-with-movie-clips/controlling-movie-clip-playback.html) * */ stop(): void; } } export default openfl.display.MovieClip;