The default behavior of Flash is to PLAY movie -- starting from frame 1 of scene 1, continuing to subsequent frames in subsequent scenes -- and looping back to PLAY entire movie again and again. So the objective seems to be: where, when, how to STOP, alter, or redirect the default PLAY behavior of Flash.
Flash is event driven. Events that can trigger a script occur when playhead reaches a frame, when movie clip loads or unloads, or when user clicks a button or presses a key on keyboard. ActionScript scripts tell Flash what action to perform when event occurs.
It's hard to visualize how the curtain opens/closes. If the curtain is imposed on top of large images, it might have to be incorporated into individual movie clips. (The sort of thing done with animated masks or tweens.)
MovieClip symbol instances can be placed in one frame of main Timeline. In the referenced old AS2.0 http://www.auntnini.com/vectorFlash/index.html each item is a MovieClip that plays out its own Timeline with a stop(); action in last frame (could have been gotoAndStop(1); to rewind). Code on the buttons -- on (release) { gotoAndStop("2"); } -- refer to labeled frames for each MovieClip, which play out their own Timeline.
Here's the MovieExplorer description of FLA actions for playing the MovieClips:
Code:
Actions for Frame 1 [actions layer]
/* stop(); in setInterval layer */
//stop();
this._lockroot = true;
onEnterFrame = function() {
_root.statusField = _root._currentFrame + " of " + _root._totalFrames; }
next_btn.onPress = function() { nextFrame(); }
prev_btn.onPress = function() { prevFrame(); }
/* draw_btn.onPress = function() { this.loadMovie("drawCircles.swf", "loader_mc"); }; */
Actions for Frame 1 [setInterval layer]
stop();
/* onEnterFrame = function() { myInterval = setInterval("nextFrame", 90000); } */
Actions for Frame 2
//stop();
//setInterval("nextFrame", 90000);
arrow_btn, ‹prev_btn›
arrow_btn, ‹next_btn›
frameNum_btn, ‹frame1_btn›
Actions for frameNum_btn
on (release) { gotoAndStop("1"); }
frameNum_btn, ‹frame2_btn›
Actions for frameNum_btn
on (release) { gotoAndStop("2"); }
frameNum_btn, ‹frame3_btn›
Actions for frameNum_btn
on (release) { gotoAndStop("3"); }
frameNum_btn, ‹frame4_btn›
Actions for frameNum_btn
on (release) { gotoAndStop("4"); }
frameNum_btn, ‹frame5_btn›
Actions for frameNum_btn
on (release) { gotoAndStop("5"); }
frameNum_btn, ‹frame6_btn›
Actions for frameNum_btn
on (release) { gotoAndStop("6"); }
frameNum_btn, ‹frame6_btn›
Actions for frameNum_btn
on (release) { gotoAndStop("7"); }
(empty), (statusField), ‹status_txt›
Actions for Frame 1
/* loadMovie("../MSNpics/selfPortrait.jpg", loader_mc); */
usaFlag
finalAll
wolf
moyaJawMove
catWagTail
audrey
male
circleBUTTON, ‹draw_btn›
Actions for circleBUTTON
on (press) { loadMovieNum("drawCircles.swf",0); }
DrawCircles, (GoudyOldStyleT-Bold, 18 pts)
whiteBox, ‹loader_mc›
And here's the starter section which loads that movie:
Code:
Actions for Frame 1
_level0.dummy_mc.content._lockroot = true;
_root.onEnterFrame = function() {
loadMovieNum("preloader.swf", 4);
load_text = Math.round((getBytes.Loaded() / getBytesTotal())*100) + " % Loaded"; };
/*var percent:Number = Math.round(_level0.dummy_mc.getBytesLoaded() / _level0.dummy_mc.getBytesTotal())*100;_level0.load_text = (percent) = " % loaded"; */
start_btn.onPress = function() {
_root.loadMovieNum("preloader.swf", 4);
_root.loadMovie("slideLoad.swf", "dummy_mc"); };
_level0.onEnterFrame = function() {
if (_level0.dummy_mc._framesloaded == _level0.dummyr_mc._totalframes) {
unloadMovieNum(4);
_level0.load_txt._visible = false; }
};
stop_btn.onPress = function() {
unloadMovieNum(4);
unloadMovie("dummy_mc"); };
draw_btn.onPress = function() {
_root.loadMovie("drawCircles.swf", "dummy_mc"); };
Actions for Frame 5
stop();
loaderMC, ‹loader_mc›
Loader, ‹dummy_mc›
circleBUTTON, ‹start_btn›
circleBUTTON, ‹stop_btn›
circleBUTTON, ‹draw_btn›
(empty), (loadText), ‹load_txt›
Bookmarks