Targeting the main timeline

Trying to make the switch from AS2 to AS3 and like many
before me, becoming confused.
I've laid out three movieClips on my main timeline (named,
"main") and spaced them five frames apart, nice and tidy, like I
like to do. Each frame on the main timeline containing a movieClip
has been given a unique frame label. My problem is, I want to have
the movieClips jump to the next targeted movieClip on the main
timeline after clicking a button, or upon entering the last frame
of its predecessor, in some cases. In AS2 the was easy to do this
was by using the gotoAndPlay function and targeting to the_root
timeline. Now I can't figure out what to do. I can make any button
inside a movieClip target a specific frame within that same mc, but
cannot make a jump to the main timeline to play the next movieClip.
What am I missing here? I'm a noobie at AS3 and fumbling my
way forward. (should be obvious now) Is there a simple way to refer
back to the main timeline, which is only one level up? What am I
missing?
Here's as far as I got with the AS3 code within the mcs:
stop();
cont5_mc.addEventListener(MouseEvent.CLICK, onClick2);
function onClick2(event:MouseEvent):void
trace("test");
cont5_mc.buttonMode = true;
The trace function runs true so it's a matter of telling the
player how to get to the main timeline and frame label.
TIA for your help, all you flashy genius . . . Speak to me
like I am a three year old. -grin-
thokitts

kglad:
Thank you for your instant reply. I see you sent it out last
night. Really appreciated. Got my button in movieClip1 to refer
back to movieClip2 on the main timeline with your help but now am
presented with the issue of having the last frame of movieClip2
automatically taking the viewer back to the main timeline to begin
playing movieClip3, located on frame label "gsm".
Again, I know this should be easy, but conceptually I am
having a problem with how to do this. I don't have a button to
attach the AS3 to and this new syntax is confusing to me. Nor do I
want this to be a button based decision on the viewer's part. How
do I attach this automatic jump back to the main timeline, frame
label "gsm"? By an enterFrame event, which seems old school AS2? or
stage.addEventListener? Is enterFrame even the way to do it
anymore?
Lynda.com tutorials are great but I'm struggling with this.
TIA
Thomas

Similar Messages

  • How do I recerence Movie Clips on the Main Timeline from inside a class?

    Hey everyone, this might be a stupid question but I thought
    I'd ask cause it's making me nuts. I'm all of 2 days into AS3
    (coming from not using Flash at all in YEARS) so feel free to
    consider me ignorant. I do have plenty of application development
    experience in other areas though.
    I can't seem to create a class that can reference an instance
    of a movie clip on my main timeline. I'd post code of what I've
    tried but I've gone through so many desperate edits & wild
    guesses that it was just garbled junk before I deleted it all.
    Basically here's how I figured Flash could work, though maybe
    it doesn't work this way at all.
    I'm assuming that with AS 3 being so big on being a true
    object oriented environment, I wouldn't need to mix my code and
    interface together. Preferably I'd be using the Flash authoring
    tools just to design my interface. Create a button... place it
    somewhere... give it an instance name. Roughly the equivilant of
    Apple's InterfaceBuilder for those of you that might be familiar
    with Cocoa development. I can see maybe having to put a few lines
    of ActionScript onto frame 1 (though really I'm hoping Flash would
    have a better method of kicking off the application at this point
    that using code tied to frames) to load my classes & such, but
    after that I'd like all of my code to be held in external class
    files.
    So maybe I've got:
    Interface.fla - My interface
    Button_1
    Button_2
    TextField_1
    Main.as - My main controller class using to handle all of my
    applications behavior
    SomeClass.as - Some helper Class
    SomeOtherClass.as - Some helper Class
    Main.as would have instructions in its initialization method
    to go ahead & attach events to buttons & initialize
    anything else that needs to happen when the application starts.
    From there on it would all be objects communicating back &
    forth. Button_1 would get clicked with would fire
    Main.someMethod(). Main.someMethod() would then do it's thing and
    set the value of TextField_1. All very clean & code is very
    separated from interface.
    Unfortunately I can't for the life of me figure out how AS3
    classes reference each other like that. There doesn't seem to be
    any kind of a global 'root' or '_root' I can use to locate any
    movie clips on the stage. I've searched the help & the web for
    any kind of simple tutorial but to no avail. My job has tasked me
    with building a flash app for a project but I'd really rather not
    have a tone of ActionScript just shoved into frame 1. That just
    seems... ugh! (::shudder::)
    Can someone maybe point me in the right direction here? I'm
    really willing to do my homework but I can't seem to locate the
    info I need to get started. Also, is there an ActionScript IRC
    channel or something maybe?
    Thanks,
    Cliff

    I worked with the problem last night and the solution I
    started coming to involved creating my own custom document class
    based off which extends MovieClip. My thought is that way I have
    access to the initialization routine of the timeline itself and
    that all of the elements on the main timeline should be
    "properties" of my custom class.
    Is this correct? Is there a down side to doing this & if
    so what is it & why?
    Also, just for my reference, the last time I did anything
    with ActionScript I think I was using '_root' to target the main
    timeline. WHat are the global variable names in AS 3? Is it just
    'root' & 'stage' or 'Root' & 'Stage' or what?

  • Controlling a Movie Clip on the Main Timeline from a loaded SWF?

    Is it possible to control a MovieClip on the main timelne from another loaded clip?
    I see posts that control loaded clips, but most are all from the loader in the main timeline.  I have a moviclip on the main timeline that I want to make visible or invisible depending on what keyframe is playing in another loaded swf.
    If I try to call the movieClip from the loaded SWF I get "error #1119.  Access of possibly undefined property...." because it doesn't exist in the loaded SWF, just the main timeline. 
    The old AS2 way just used "_root".  Since "_root" doesn't exist any more, how do you control items on the main TimeLine from a loaded SWF?

    I am not clear what you mean because you are saying you are trying to target a movieclip that does not exist where you are trying to target it.
    Try using a trace to see what you are targeting when you you target the MovieClip(parent.parent)....
    trace(MovieClip(parent.parent));
    The other approach I mentioned earlier is the more OOP-correct approach if you would rather try that way.  Here's a rough outline of it...
    AS3 - Dispatch Event
    http://forums.adobe.com/thread/470135?tstart=120
    Example:
    Add something to trigger the event in the child (your loaded swf):
    dispatchEvent(new Event("eventTriggered")); (
    if dispatchEvent problem, see: http://www.kirupa.com/forum/showthread.php?p=1899603#post1899603)
    In your loading/parent swf, listen for the complete event on the Loader.contentLoaderInfo.  In the complete event handler, add a listener for the event on the loaded swf.
    // event handler triggered when external swf is loaded
    function loaderCompleteHandler(event:Event) {
        MovieClip(event.currentTarget.content).addEventListener("eventTriggered", eventHandler);
    function eventHandler(event:Event):void {
        trace("event dispatched in loaded swf");
       // this is where your main file can set the visible property of your movieclip

  • Using cue points to trigger events on the main timeline...

    Hi--
    I have successfully placed an flv (video) file (progressive
    download) on the main timeline of my movie with controls to play
    and pause (Flash 8 Professional). So far, so good!
    NOW TWO PROBLEMS: Does anyone know how to set it up so that
    when a specific cue point is reached in the video, it triggers an
    action on the main timeline? In this case, once the video is over,
    I want the main timeline to gotoAndPlay frame 3. Specific script to
    do this would be great!
    The other action I'd like to happen is that when the video
    begins, it targets a scrolling text mc ("text") in the main
    timeline and tells it to gotoAndPlay frame 2.
    Any advice would be GREATLY appreciated!!! Many
    thanks!!!

    I usually start off solving problems with the livedocs, as I
    recommend for anyone. The following link will take you to the
    NetStream.onCuePoint handler. This is what you need.
    http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context= LiveDocs_Parts&file=00002561.html
    You can have this code on the main timeline. When the
    cuepoint is hit, it will invoke this event handler and inside is
    where your gotoAndPlay( ) should go.
    Your other question about the text will get activated by the
    same handler. Just have a conditional statement (if, switch, etc.)
    to differentiate between the two events. The text itself can be
    mask inside a movieclip.
    Does this help?

  • How do you reference the main timeline of swf1 from swf2 when swf2 is loaded into swf1?

    on this link          http://kb2.adobe.com/community/publishing/918/cpsid_91887.html
    I found this script, but I can not use it can anyone help me
    // create a variable to reference swf1's main timeline
    var swf1Main_mc:MovieClip;  // this assumes that swf1 is a movieclip.
    // create your listener to ensure this loaded swf has been added to the display list and can therefore obtain a
    // reference to its main timeline (which is always the main timeline of the loading swf).
    this.addEventListener(Event.ADDED_TO_STAGE, initF);
    function initF(e:Event):void{
        swf1Main_mc = MovieClip(this.root);

    You don't make it clear what event finish is for. But let's assume that your MC is being loaded from the clip that you're referring to as root. In the main Document Class of that swf, you'd have
    protected var customSwf:CustomSwf;//customSwf is the Class that defines your functionInSwf1protected function someFunction():void {
         var loader:Loader = new loader();
         loader.contentLoaderInfo.addEventListener(Event.COMPLETE onLoaderLoaded);
         //rest of your loader loading code here
    protected function onLoaderLoaded(e:Event):void {
          //add to display list (you already know how to do, so I'm not writing the code)
         EventDispatcher(e.target).removeEventListener(Event.Complete, onLoaderLoaded);
         //if you had a legitimate need for path (which you don't) in mcExternal, you'd set it like this:
         this.mcExternal.path = LoaderInfo(e.target).content as MovieClip;
          //this is what you actually need to care about to do this correctly
          customSwf = LoaderInfo(e.target).content as CustomSwf;
    Now, the Class that you apply to the library symbol you're using for mcExternal should have code similar to this:
    protected function fEvent(e:Event):void {
         dispatchEvent(new Event('giveYourEventADescriptiveNameBasedOnWhatYoureReallyDoingHere', true));
    back in your main document Class:
    //should probably call from the constructor or somewhere early in the process
    protected function init():void {
         //use your real event name--your code isn't expressive enough I could guess a good name
         addEventListener('giveYourEventADescriptiveNameBasedOnWhatYoureReallyDoingHere', onEventHappened);
    protected function onEventHappened(e:Event):void {
         customSwf.customFunctioninSwf1();
         customSwf.changeVisualState();//let custom swf change alpha and change the frame #
    To the untrained I, this looks like about the same amount of code and slightly more trouble, but changing the design like this will make it much more tolerant of the changes that nearly all clients will want after you've built version 1. mcExternal's code doesn't have to change at all if swf1 changes, and your root Class already knows abotu swf1 anyway, since it's doing the loading, so having it work with it a little more doesn't hurt.
    Moving the change of visual state into your custom swf means that changes in that swf won't affect your main document Class, though you will probably have to recompile the main document unless you go to using an Interface (a topic for another day).

  • How to play the main timeline after a movie clip is finished playing.

    Ok so here is the problem, I have the main time line with three layers: My actions layer, a music layer, and the movie clip layer.
    The movie clip is an actionscript movie which calls images from an external XML file and shows them as a slideshow. What i need to do is after the last image plays, stop the movie and move the main timeline to the next scene of the main movie. Everything logical in my brain is not working, and it may be that I have been staring at this project for too long but for the life of me i can't make this work.
    Any help or input would be greatly appreciated!
    Thanks in advance.
    Meghan

    better yet, here is the whole code. With your suggestion entered...
    import flash.display.BitmapData;
    import gs.*;
    import gs.easing.*;
    import gs.plugins.*;
    TweenPlugin.activate([BlurFilterPlugin]);
    OverwriteManager.init();
    var xml:XML = new XML();
    xml.ignoreWhite = true;
    _root.xmlPath == undefined ? xml.load("jake.xml") : xml.load(_root.xmlPath);
    //when xml is loaded
    xml.onLoad = function(succes:Boolean) {
        if (succes) {
            //position the slideshow. remember size.
            __width = Number(xml.firstChild.attributes.width);
            __height = Number(xml.firstChild.attributes.height);
            mcMask._width = mcBlack._width=mcHyper._width=__width;
            mcMask._height = mcBlack._height=mcHyper._height=__height;
            //preloader
            mcPreloader._x = __width/2;
            mcPreloader._y = __height/2;
            (new Color(mcPreloader).setRGB(Number(xml.firstChild.attributes.preloaderColor)));
            //buttons
            var buttonLoader:MovieClipLoader = new MovieClipLoader();
            var buttonListener:Object = new Object();
            buttonListener.onLoadInit = function(cButton:MovieClip) {
                if (cButton._parent == btnNext) {
                    cButton._parent._x = __width-cButton._width;
                } else if (cButton._parent == btnPrev) {
                    cButton._parent._x = 0;
                } else {
                    cButton._parent._x = (__width-cButton._width)/2;
                cButton._parent._y = (__height-cButton._height)/2;
            buttonLoader.addListener(buttonListener);
            buttonLoader.loadClip(xml.firstChild.attributes.prevButton,btnPrev.holder);
            buttonLoader.loadClip(xml.firstChild.attributes.nextButton,btnNext.holder);
            buttonLoader.loadClip(xml.firstChild.attributes.playButton,btnPlay.holder);
            buttonLoader.loadClip(xml.firstChild.attributes.pauseButton,btnPause.holder);
            xml.firstChild.attributes.slideshowOn == "true" ? [_slideshow=true, btnPlay._visible=false] : [_slideshow=false, btnPause._visible=false];
            for (var i:Number = 0; i<xml.firstChild.childNodes.length; i++) {
                //create empty movieclip for each picture. create mask movieclip for each picture. save transition and ken burns settings for each picture. save other properties for each picture.
                mcTemp.createEmptyMovieClip("mcPhoto"+i,mcTemp.getNextHighestDepth());
                mcHolder.createEmptyMovieClip("mcPhoto"+i,mcHolder.getNextHighestDepth());
                mcHolder["mcPhoto"+i].createEmptyMovieClip("photo",mcHolder["mcPhoto"+i].getNextHighestDe pth());
                //attach text clip and set it up
                mcHolder.attachMovie("square2","mcBack",mcHolder.getNextHighestDepth());
                mcText.attachMovie("text","text"+i,mcText.getNextHighestDepth());
                mcText["text"+i].mcText._alpha = mcBack._alpha=0;
                mcBack._width = mcText["text"+i].mcText._width=__width;
                mcText["text"+i].mcText.autoSize = true;
                mcBack._height = 0;
                mcBack._y = __height;
                (new Color(mcBack).setRGB(Number(xml.firstChild.attributes.textBackColor)));
                mcHolder["mcPhoto"+i].transition = Number(xml.firstChild.childNodes[i].attributes.transition);
                var burns:Array = String(xml.firstChild.childNodes[i].attributes.kenBurns).split(";");
                mcHolder["mcPhoto"+i].burns = burns;
                mcHolder["mcPhoto"+i].time = Number(xml.firstChild.childNodes[i].attributes.time);
                mcHolder["mcPhoto"+i].src = String(xml.firstChild.childNodes[i].attributes.src);
                mcHolder["mcPhoto"+i].txt = String(xml.firstChild.childNodes[i].firstChild.nodeValue);
                mcHolder["mcPhoto"+i].url = String(xml.firstChild.childNodes[i].attributes.url);
                mcHolder["mcPhoto"+i].target = String(xml.firstChild.childNodes[i].attributes.target);
                //handle loading process. create loader objects. start "intelligent loading". set methods and actions for new newly loaded pictures.
                var photoLoader:MovieClipLoader = new MovieClipLoader();
                var photoListener:Object = new Object();
                photoListener.onLoadInit = function(cPhoto:MovieClip) {
                    //transform image to bitmap
                    cPhoto._visible = false;
                    var tempBitmap:BitmapData = new BitmapData(cPhoto._width, cPhoto._height);
                    tempBitmap.draw(cPhoto);
                    var cPhoto2:Object = mcHolder["mcPhoto"+_loaded].photo;
                    cPhoto2.attachBitmap(tempBitmap,1,"auto",true);
                    photoLoader.unloadClip(cPhoto);
                    removeMovieClip(cPhoto);
                    cPhoto2._parent._visible = false;
                    //remember original size
                    cPhoto2._parent.width2 = cPhoto2._parent._width;
                    cPhoto2._parent.height2 = cPhoto2._parent._height;
                    cPhoto2._alpha = 0;
                    _loaded++;
                    cPhoto2._parent.loaded = true;
                    if (_loaded<xml.firstChild.childNodes.length) {
                        //load next picture
                        photoLoader.loadClip(mcHolder["mcPhoto"+_loaded].src,mcTemp["mcPhoto"+_loaded]);
                    if (_loaded == _index+1) {
                        //show this picture
                        showPicture(cPhoto2._parent);
                photoLoader.addListener(photoListener);
            photoLoader.loadClip(mcHolder.mcPhoto0.src,mcTemp.mcPhoto0);
    //function that changes to the next photo(slideshow feature)
    function nextPhoto() {
        _index++;
        if (_index == xml.firstChild.childNodes.length) {
        //if picture is loaded, just show it. if not, wait until it loads                                                                           
        if (mcHolder["mcPhoto"+_index].loaded) {
            showPicture(mcHolder["mcPhoto"+_index]);
        } else {
            TweenLite.to(mcPreloader,.5,{_alpha:0});
            TweenLite.to(mcBlack,.5,{_alpha:100,onComplete:completeF});
    function completeF(){
    _root.gotoAndPlay("frame1_scene2");
    //function that changes to the previous photo
    function prevPhoto() {
        _index--;
        if (_index == -1) {
            _index = xml.firstChild.childNodes.length-1;
        //if picture is loaded, just show it. if not, wait until it loads                                                                           
        if (mcHolder["mcPhoto"+_index].loaded) {
            showPicture(mcHolder["mcPhoto"+_index]);
        } else {
            TweenLite.to(mcPreloader,.5,{_alpha:100});
            TweenLite.to(mcBlack,.5,{_alpha:80});
    //buttons - roll overs
    btnNext.onRollOver = btnPrev.onRollOver=btnPause.onRollOver=btnPlay.onRollOver=function () {
        TweenLite.to(this,1,{_alpha:70});
    btnNext.onRollOut = btnPrev.onRollOut=btnPause.onRollOut=btnPlay.onRollOut=btnNext.onReleaseOutside=btnPrev.o nReleaseOutside=btnPause.onReleaseOutside=btnPlay.onReleaseOutside=function () {
        TweenLite.to(this,1,{_alpha:100});
    //buttons - next
    btnNext.onPress = function() {
        if (!_transition) {
            clearTimeout(nextT);
            nextPhoto();
        } else {
            clearTimeout(nextT);
            nextT = setTimeout(nextPhoto, 500);
    //buttons - previous
    btnPrev.onPress = function() {
        if (!_transition) {
            clearTimeout(nextT);
            prevPhoto();
        } else {
            clearTimeout(nextT);
            nextT = setTimeout(prevPhoto, 500);
    //buttons - play
    btnPlay.onPress = function() {
        switchVisible(btnPlay);
        switchVisible(btnPause);
        _slideshow = true;
        if (!_transition) {
            clearTimeout(nextT);
            nextPhoto();
        } else {
            clearTimeout(nextT);
            nextT = setTimeout(nextPhoto, 500);
    //buttons - pause
    btnPause.onPress = function() {
        switchVisible(btnPlay);
        switchVisible(btnPause);
        _slideshow = false;
        clearTimeout(nextT);
    //function that animates text(html for each picture)
    function inText(cPhoto:Object) {
        if (cPhoto.txt != "undefined") {
            mcText["text"+_index].mcText.htmlText = cPhoto.txt;
            mcText["text"+_index].mcText._y = mcBack._y-mcText["text"+_index].mcText._height-4;
            TweenMax.to(mcText["text"+_index].mcText,0,{blurFilter:{blurX:15, blurY:15, quality:1}});
            TweenMax.to(mcText["text"+_index].mcText,Number(xml.firstChild.attributes.textSpeed),{blu rFilter:{blurX:0, blurY:0}, _alpha:100});
            TweenLite.to(mcBack,Number(xml.firstChild.attributes.textSpeed),{_alpha:Number(xml.firstC hild.attributes.textBackOpacity), _height:mcText["text"+_index].mcText._height+7});
        } else {
            mcText["text"+_index].mcText.htmlText = "";
            TweenLite.to(mcBack,Number(xml.firstChild.attributes.textSpeed),{_alpha:Number(xml.firstC hild.attributes.textBackOpacity), _height:0});
    function outText(cPhoto:Object) {
        TweenLite.to(mcBack,.5,{_alpha:0});
        TweenLite.to(mcText["text"+_index2].mcText,.5,{_alpha:0});
    //function that applies the ken burns effect to a specific photo
    function kenBurns(cPhoto:Object) {
        //reset size and position
        cPhoto.photo._xscale = cPhoto.photo._yscale=Number(cPhoto.burns[0]);
        cPhoto.photo._x = returnPosition(cPhoto.burns[2], cPhoto.photo._width, cPhoto.photo._height, mcMask._width, mcMask._height).__x;
        cPhoto.photo._y = returnPosition(cPhoto.burns[2], cPhoto.photo._width, cPhoto.photo._height, mcMask._width, mcMask._height).__y;
        //start effect
        TweenLite.to(cPhoto.photo,cPhoto.transition+Number(cPhoto.time)+1,{_xscale:Number(cPhoto. burns[1]), _yscale:Number(cPhoto.burns[1]), _x:returnPosition(cPhoto.burns[3], cPhoto.width2, cPhoto.height2, mcMask._width, mcMask._height).__x, _y:returnPosition(cPhoto.burns[3], cPhoto.width2, cPhoto.height2, mcMask._width, mcMask._height).__y, ease:Linear.easeNone});
    //function that shows a picture(transition function)
    function showPicture(cPhoto:Object) {
        for (var i:Number = 0; i<xml.firstChild.childNodes.length; i++) {
            if (i == _index || i == _index2) {
                mcHolder["mcPhoto"+i]._visible = true;
            }else{
                mcHolder["mcPhoto"+i]._visible = false;
        cPhoto.swapDepths(mcHolder.getNextHighestDepth());
        setTimeout(hideOld,cPhoto.transition*1000,mcHolder["mcPhoto"+_index2]);
        //text
        outText(mcHolder["mcPhoto"+_index2]);
        _index2 = _index;
        inText(cPhoto);
        kenBurns(cPhoto);
        TweenLite.to(mcPreloader,.5,{_alpha:0});
        TweenLite.to(mcBlack,.5,{_alpha:0});
        //transition variable
        _transition = true;
        clearTimeout(transT);
        transT = setTimeout(switchTransition, cPhoto.transition*1000);
        cPhoto.photo._alpha = 0;
        TweenLite.to(cPhoto.photo,cPhoto.transition,{_alpha:100});
        if (_slideshow) {
            //if slideshow is on
            nextT = setTimeout(nextPhoto, (cPhoto.transition+cPhoto.time)*1000);
    function hideOld(what:Object){
    //hyperlinks
    mcHyper.useHandCursor = true;
    mcHyper.onPress = function() {
        if (mcHolder["mcPhoto"+_index].url != "undefined") {
            getURL(mcHolder["mcPhoto"+_index].url, mcHolder["mcPhoto"+_index].target);
    //function that returns a number position from a given "compass position"(for the ken burns effect)
    function returnPosition(pos:String, __width:Number, __height:Number, __width2:Number, __height2:Number):Object {
        var returnObj:Object = new Object();
        switch (pos) {
            case "TL" :
                returnObj.__x = 0;
                returnObj.__y = 0;
                break;
            case "TC" :
                returnObj.__x = -(__width-__width2)/2;
                returnObj.__y = 0;
                break;
            case "TR" :
                returnObj.__x = -(__width-__width2);
                returnObj.__y = 0;
                break;
            case "ML" :
                returnObj.__x = 0;
                returnObj.__y = -(__height-__height2)/2;
                break;
            case "MC" :
                returnObj.__x = -(__width-__width2)/2;
                returnObj.__y = -(__height-__height2)/2;
                break;
            case "MR" :
                returnObj.__x = -(__width-__width2);
                returnObj.__y = -(__height-__height2)/2;
                break;
            case "BL" :
                returnObj.__x = 0;
                returnObj.__y = -(__height-__height2);
                break;
            case "BC" :
                returnObj.__x = -(__width-__width2)/2;
                returnObj.__y = -(__height-__height2);
                break;
            case "BR" :
                returnObj.__x = -(__width-__width2);
                returnObj.__y = -(__height-__height2);
                break;
        return returnObj;
    function switchTransition() {
        _transition == true ? _transition=false : _transition=true;
    function switchVisible(obj:Object) {
        obj._visible == true ? obj._visible=false : obj._visible=true;
    mcTemp._x = -10000;
    //mouse testing
    var mouse_dx:Number = _xmouse;
    var mouse_dy:Number = _ymouse;
    var mouseSpeed:Number = 1;
    function checkPosition(Void):Void {
        if (_xmouse<mouseSpeed || _xmouse>(Stage.width-mouseSpeed) || _ymouse<mouseSpeed || _ymouse>(Stage.height-mouseSpeed)) {
            //mouse outside - hide buttons
            TweenLite.to(btnPrev,.5,{_alpha:0});
            TweenLite.to(btnNext,.5,{_alpha:0});
            TweenLite.to(btnPlay,.5,{_alpha:0});
            TweenLite.to(btnPause,.5,{_alpha:0});
        } else {
            //mouse inside
            TweenLite.to(btnPrev,.5,{_alpha:100});
            TweenLite.to(btnNext,.5,{_alpha:100});
            TweenLite.to(btnPlay,.5,{_alpha:100});
            TweenLite.to(btnPause,.5,{_alpha:100});
    checkPosition(Void);
    var mouseListener:Object = new Object();
    mouseListener.onMouseMove = function():Void  {
        mouse_dx = Math.abs(mouse_dx-_xmouse);
        mouse_dy = Math.abs(mouse_dy-_ymouse);
        mouseSpeed = mouse_dx>mouse_dy ? mouse_dx : mouse_dy;
        mouseSpeed += 1;
        checkPosition(Void);
        mouse_dx = _xmouse;
        mouse_dy = _ymouse;
    Mouse.addListener(mouseListener);
    //global variables
    var this2:Object = this;
    var __width:Number;
    var __height:Number;
    var _index:Number = 0;
    var _index2:Number = -1;
    var _loaded:Number = 0;
    var nextT:Number;
    var transT:Number;
    var _slideshow:Boolean = true;
    var _transition:Boolean = false;
    Stage.scaleMode = "noScale";
    Stage.showMenu = false;
    Stage.align = "TL";

  • How can I reference the main timeline on a swf once it was loaded into another?

    I have an swf with some custon animation functions using actionscript 3. I'm refering to the main timeline with Movieclip(root) and it works just fine.
    However, this swf is going to be loaded inside another (a custom player), and when that happends, everything stops working.
    I think it's because the Movieclip(root) is now referencing to the loader swf and not the loaded anymore, but I just can't find any information on how to fix that.

    This is basically what I´m doing here:
    I'm placing this code on frame 1, and calling the function textAnimate() whenever I need to insert some text.
    // This is a variable I created for tracking the timeline
    var base:MovieClip = MovieClip(root);
    function textAnimate(movieName:String, espera:Number):void {
              //var espera:Number = 1; //Waiting time
              var objeto:MovieClip = base[movieName]; //Variable to select the object
              var posFinal:Number = objeto.x; // Object position
              var posEnter:String = "-160"; // Animation start (relative)
              var posExit:String = "+160"; // Animation end (relative)
              // enter animation
              TweenMax.from(objeto, 1, {x:posEnter, alpha:0, blurFilter:{blurX:40}, ease:Back.easeOut});
              //call exitAnimation() after X seconds
              TweenMax.delayedCall(espera,exitAnimation);
              //exit animation
              function exitAnimation() {
                        TweenMax.to(objeto, 1, {x:posExit, alpha:0, blurFilter:{blurX:40}, ease:Back.easeIn});
    The swf works fine, but once it´s loaded into the player, nothing works anymore. Unfortunately, I don't have the code for the player, and can't change anything about it... :/

  • In actionscript 3.0 how do i make a nested movie clip button go to a frame on the main timeline

    I am making a website based in flash actionscript 3.0 i have a button nested in its own movie clip, because I have the button expanding to be able to read it i have figured out the only way to do this is by creating it as a movie clipa nd inside the movie clip creating it as a button
    I added an event listener to the blog button by saying,
    blog.addEventListener(MouseEvent.ROLL_OVER,gotoblog);
    function gotoblog(evtobj:MouseEvent){
         gotoAndStop(2)
    this part of the code works it goes to the 2nd frame of the timeline it is in and stops wich is a blown up version of the origanal symbol
    i added on frame 2 a second command
    blog.addEventListener(MouseEvent.CLICK.gotoblogpage);
    function gotoblogpage(evtobj:MouseEvent){
    gotoAndStop("blogframe")
    trace("the blog button was clicked")
    i have named the symbol blog and have name the frame of where the blog page is going to be "blogframe" this line of code at the bottom is where i run into trouble the output window in Flash is saying "The blog button was clicked" just like i want it to. no errors are accouring why than is the playhead not going to frame "blogframe"? if the button is working when i click it the code is right i belive the problem here is it does not want the playhead to go to the frame i want it to. So i gues my question is, how can i make a button withing a movie clip interact with the main timeline?

    I have a similar problem if could please help me i'd really apreciate it!!
    So i have a looping animation of some thumbnails, the hierarchy goes like this
    Scene1(main timeline) -> imgBar(MC)->imgBarB(MC within the imgBar MC)
    My buttons symbols are in the last MC "imgBarB" where i have this code:
    ss1.addEventListener(MouseEvent.CLICK, OneButtonClicked);
      function OneButtonClicked(event:MouseEvent):void{
      MovieClip(root).gotoAndStop("ssbox1");
    I want to control the Btns in my "imgBarB" MC to play a labeled frame(named "ssbox1") on another MC on the main timeline,this other MC goes like this:
    Scene1(main timeline)->ssbox_mc(MC where my labeled frame is)

  • How to call a function in a class from the main timeline?

    Hey Guys
    I have a project in Flash with four external AS files, which are linked to items in the library using AS linkage.
    What I want to do is call a function in one of these files from the main timeline, how would I go about doing this? I'm not currently using a document class, most of the code is in Frame 1 of the main timeline.
    Thanks

    // change type to the class name from the instance
    ClassNameHere(this.getChildByName('instance_name')).SomeFunction();

  • How do I set a variable on the main timeline from within a symbol?

    Just getting started with Animate and coming to it from Flash, as may be apparent from my question. How do you set a variable to the main timeline from within a symbol?
    I have 24 pairs of clickable elements, each in their own symbols, and all 24 of those symbols sit inside another symbol. I want all 24 to be able to set the same global variable when clicked. I can't find that this question is addressed anywhere, which makes me think I may be stuck in a Flash mindset and approaching the task in the wrong way. (There are however MANY discussions of how to address objects at different levels in the hierarchy. That's well covered.)
    Relatedly, how do you access a function on the main timeline from within a symbol?
    Adobe should consider putting together a support page (or pages) just for folks migrating form Flash. In the materials I've encountered so far there seems to be a studied effort to refrain from mentioning Flash in any way. I imagine there are a lot of people out there like me who have a deep background in Flash coding, but are just getting started with Animate. We don't need help with most of the basic concepts, but we may still have some pretty basic questions about how to accomplish some things in Animate because our Flash knowledge is getting in the way.

    Hi Bill,
    There are plenty of threads on here about scope, but here's one way to create a global variable:
    // code on Stage.compositionReady
    sym.myGlobalVar = 1;
    Then, anywhere in your project, you can check/set that var like so:
    sym.getComposition().getStage().myGlobalVar = 2;
    And here's one way to create a global function:
    // code on Stage.compositionReady
    sym.myGlobalFunction = function(){
              console.log('myGlobalFunction');
    Then, anywhere in your project, you can call that function like so:
    sym.getComposition().getStage().myGlobalFunction();

  • How to control the main timeline from within a symbol?

    I have a small world map as a symbol called "verden" and I want the user to click Europe, Asia, or Africa and jump to named labels in the main timeline.
    http://www.dagbladet.no/grafikk/neshorn/neshorn.html
    On the main timeline a have the label "intro" with a Stop action and the label "europa". At label "europa" I have a symbol also called "europa" which has a display of None at label "intro" and On at the label "europa".
    The animation never goes to label "europa"
    I have this code on europa in the symbol "verden" :
    // insert code for mouse click here
    sym.getComposition().getStage().getSymbol("europa").play("europa");
    The files are on Dropbox here
    Update, now it works:
    sym.getComposition().getStage().play("europa");

    Hi Bill,
    There are plenty of threads on here about scope, but here's one way to create a global variable:
    // code on Stage.compositionReady
    sym.myGlobalVar = 1;
    Then, anywhere in your project, you can check/set that var like so:
    sym.getComposition().getStage().myGlobalVar = 2;
    And here's one way to create a global function:
    // code on Stage.compositionReady
    sym.myGlobalFunction = function(){
              console.log('myGlobalFunction');
    Then, anywhere in your project, you can call that function like so:
    sym.getComposition().getStage().myGlobalFunction();

  • Moving to a frame in Movieclip timeline from the main timeline

    I am in the learning process. Working with FlashCS5 and AS3.
    Please bear with me if the issue appears to be too simple for you. Placed a movieclip(mcassessJohn) on the main timeline and moved to the frame labelled "johnFeedback" in the movieclip timeline using the following actionscript code.
    mcassessJohn.addEventListener(MouseEvent.CLICK, onJohnClick);
    function onJohnClick(evt:MouseEvent):void {
       mcassessJohn.gotoAndPlay("johnFeedback");
    This works fine. However problem starts when I place a button "questionJohn" in the movieclip(mcassessJohn) time line at frame "johnFeedback" and try to move to another frame by clicking the button and using the following actionscript code;
    questionJohn.addEventListener(MouseEventClick,onClick);
    function onClick(evt:MouseEvent):void {
      gotoAnd Play("johnFeedback");
    Placed the above code in actions layer in the movieclip timeline at frame "johnFeedback". I had placed the button also in the movieclip timeline at Frame "johnFeedback in layer buttons. No compiler error.No runtime error. Just nothing happens when I click on the button "questionJohn".
    Would appreciate if you can let me know where I am going wrong.

    Thats because if u assign the listeners to a parent movieclip it will not pickup listener assigned to its child.
    A work around is put a invisible btn inside mcassessJohn movieclip on frame 1 and assign onJohnClick function to that.
    And one more thing, i think u r trying to perform same operation on both the btns
    http://www.darshanrane.com

  • Passing a variable from a movie clip to the main timeline

    Hi,
    I'm having trouble passing a variable from a movie clip in my
    flash file to the main timeline.
    I have a movieclip with the instance name IntroNav which
    contains several buttons. Clicking a button sets the variable
    "page" to a specific name, i.e. page = "home"
    However, outside of the movie clip, on the main timeline I am
    unable to call this variable, and "page" seems to have no value.
    Can anyone tell me why this is and how to solve it?
    Thanks

    Umm, yes ... declare your variables correctly.
    var page:String = new String(); //proper complete
    var page:String; //strict typing
    var page:String = "home"; //stirct typing with value
    declaration
    Do not declare the variable in your buttons, you would have
    to do so in every button and be constantly resetting the value.
    Declare it on the main timeline at the lowest level. You do not
    need to use it as a _global, you just need to resolve your path
    issues. You can 'set' the variable value from a button, without any
    problem, but you have to call to the variable correctly.
    You do not 'name' a variable as "_root.page" , the '_root'
    refers to the lowest level of the SWF or the main timeline, as does
    a call to ' _level0' (that's a zero). If the variable is declared
    on the main timeline, and you're calling from the MC/button or
    anywhere you can refer to the variable by calling to it by
    the proper path of '_root.page'
    To set the variable from any of your button/MC instances
    call:
    _root.page = "value"; OR _level0.page = "value";
    But you must have the varibale declared on the main timeline,
    and only once and the playhead should be stopped or it will reset
    the value to the default upon looping.

  • How to remove a function on the main timeline within a movie clip

    How do you remove a function that is coded on a frame in the main timeline from within a movie clip?  I tried this, but no dice:
    infoGraphicDisparity.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene);
    function fl_ClickToGoToScene(event:MouseEvent):void
        parent.removeEventListener (Event.ENTER_FRAME, parent["enterFrameHandler"]);
        MovieClip(this.root).gotoAndPlay("disparity");
    this is the event I am trying to remove:
    stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
    any help would be appreciated as always.
    Thanks!

    from any frame (that executes after enterFrameHandler is defined) in any display object in the display list
    stage.removeEventListener(Event.ENTER_FRAME, MovieClip(root).enterFrameHandler);

  • Play a movieclip once, then go to the next frame on the main timeline

    Hello, I'm sorry for the long topic's title.
    I have an animation I'd like to use as an INTRO in my flash
    movie. I will joint it inside a movieclip, giving it the istance
    name "INTRO". And I position it in the first frame of the main
    timeline.
    How can I make possible that played once my intro (my
    movieclip) the player jumps to the second frame of the timeline,
    named by the istance "HOME".
    Is it possible?
    Thankyou very much for your help,
    and great things.
    Stebianchi

    on intro's first frame place:
    if(!this.played){
    _level0.gotoAndStop(2);
    and on its last frame place:
    this.stop();
    this.played=true;
    _level0.gotoAndStop(2);
    // or this.removeMovieClip(), if this is no longer ever used.
    and if you use this, you don't need the frame 1 code.

Maybe you are looking for

  • Satellite A660 - DVD drive will not recognise some DVDs

    I have a new Satellite A660-17E with a HL-DT-ST DVDRAM GT30N drive, running Windows 7 64 bit. The drive will read most DVDs. Commercial DVDs (region 2) are fine. However, there are problems with DVDs recorded using DVD recorders. DVD+R recordings usi

  • How to swap out an image in a .fla file

    Hi, I have an existing .swf movie and I aquired the .fla files to make edits. I found the image I want to swap out but I am not sure how to do it. I was planning on using Flash Pro to make the edit. Any help would be greatly appreciated. Thank you, A

  • Copied music files to new spot, won't recognize in Itunes

    I have a computer with two hard drives so I copied my music file from the full drive to the virtually empty drive, tried it and it seemed to work then deleted the original. I still have the music file and when I open the file and click on songs they

  • Where to find Good JSP Hosting?

    Hi everyone! Could someone help me to find good JSP/MySQL hosting for reselling? Thanks!

  • Oil paint error unknown gpu intel HD (r)

    Hi gang, I having been investigating why I cannot get my oil paint filter to work. I get the unknown graphics processor error. I have an intel HD (R) gpu with up to date driver. Any help appreciated.