Absolute X Y position of a movie clip

Hi
Can anyone tell me how to access the x y position of a
movieclip on stage.
I place each thumbnail image into a movie clip then I place
that movieclip into another movie clip.
I am trying to make a tooltip pop up appear over the image so
in my mouseout event I check the x, y position of the movieclip
that contains the thumbnail image. I get the x, y position of the
movie clip relative to the x,y of the outer movie clip and not the
stage.
Does anyone know how I can find the x,y position relative to
the stage?
Thank You

movieClipName._x will give you your x coordinate, and _y will
give you the y coordinate. This is the point where the MovieClip's
reference point is on the stage. If you position the contents of
the MovieClip at 0,0, then this point will be the upper left corner
of your movie clip. If you center the reference point, then it will
be where the center of the MovieClip is on the stage.
Hope this helps

Similar Messages

  • 3D positional sound and movie clips

    Hi.
    As I said in one of my earlier posts, I'm writing a FPS game in JOGL. So now I need positional sound emittors. I don't quite like Java3D's approach (BTW it's very undocumented, tutorialized??).
    Any other suggestions will be appreciated!
    And then I also want to diplay an intro/outro movie and cutscenes etc. Which api would you suggest (will always use Windows) to use?
    Thanx

    The only possibility that I can think of is that 2/2. mode is NOT as simple as headphone mode with crosstalk cancelation. Perhaps the HRTF only kicks in for sound sources outside of the arc directly in front of the listener. If that were the case, you wouldn't percei've any distortion for sound sources in front of you.
    Also, you are wrong regarding DirectSound3D. Keep in mind that Direct3D and DirectSound3D are not the same. The whole point of OpenAL and DirectSound3D is that they present an API to the programmer through which there is NO specification of the number of speakers. When using OpenAL or DirectSound3D, the only thing a programmer can do is specify the location of a mono sound source in 3D space relati've to the listener. The speaker settings for your DirectSound3D or OpenAL device will then determine how this sound is "rendered" by the soundcard. It is not under control of the game. For example, if you have 5. speakers and the 3D position is behind you, the SOUND CARD will make the decision to use the rear speakers. If you use headphones, the SOUND CARD will decide to apply an HRTF to create the illusion of a rear sound source. The point is that the game does not have control over how many speakers you will get sound from.
    However, to further complicate the situation, there are SOME games (HL2 is an example) where DirectSound3D is used, BUT the sound output of the game itself IS a function of the Windows speaker settings. This is not how programmers are SUPPOSED to use DirectSound3D. I've written about this countless times. There is a good post on [H]ard|Forum about this. Do an "advanced" search with my username (thomase) looking for the terms "hl2" and "cmss".

  • Attempt to move main timeline from inside a movie clip breaks menu buttons.

    I am attempting to have the main timeline move from a stopped position over a movie clip to frame 1, where my start menu is.
    The code I'm using does move the timeline but in doing so it somehow breaks the 4 buttons I have in frame 1.
    My code in the movie clip:
    stop()
    function replayMovie(event:MouseEvent):void
    MovieClip(parent).gotoAndStop(1);
    Menu.addEventListener(MouseEvent.CLICK, replayMovie);
    My code in frame 1 of the main timeline:
    stop();
    function bo(event:MouseEvent):void
    gotoAndPlay(21)
    SoundMixer.stopAll()
    espesp.addEventListener(MouseEvent.CLICK, bo);
    function ho(event:MouseEvent):void
    gotoAndPlay(31)
    SoundMixer.stopAll()
    espeng.addEventListener(MouseEvent.CLICK, ho);
    function yo(event:MouseEvent):void
    gotoAndPlay(41)
    SoundMixer.stopAll()
    engesp.addEventListener(MouseEvent.CLICK, yo);
    function go(event:MouseEvent):void
    gotoAndPlay(51)
    SoundMixer.stopAll()
    engeng.addEventListener(MouseEvent.CLICK, go);
    The error output when I use my Menu button at the end of the movie clip.
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at SSubjunctiveProjNewgrounds_fla::MainTimeline/frame1()
    at flash.display::MovieClip/gotoAndStop()
    at SSubjunctiveProjNewgrounds_fla::Esp_5/replayMovie()
    Any help would be greatly appreciated.

    For the sake of space, I'll leave out all the package declarations and class declarations and just talk about the functions.
    First, the Game class, it has two functions.  The first one is the constructor function and it launches at the beginning of the game:  First the Game function:
    public function Game():void
    //Game code goes here
    }//Game
    We want to listen for someone to click the mouse on the MenuPage, so lets create a new MenuPage and add a listener to the button contiained within it.
    public function Game():void
    menuPage = new MenuPage;
    menuPage.startButton.addEventListener(MouseEvent.CLICK, startGame);
    addChild(menuPage);
    }//Game
    You will notice that before I declared a variable var menuPage:MenuPage, but that's all I did was declare it.  I didn't really make a new instance of it, I just set aside space for it.  In the first line within the Game function, I'm actually turning that variable into a new instance of a MenuPage.
    We don't have a picture of this imaginary menuPage instance, but lets' assume that in our MenuPage MovieClip in the library, we created a SimpleButton called startButton.  Here, I'm adding an EventListener that patiently waits for someone to click that button.  Once we receive that event, Flash is told to call the startGame function.
    As you get better at this, you'll get into custom events, and the eventListener for the button will exist in the MenuPage class file, or even in another class file that you create just for the button.  Something like StartButton.as  But for now, we can do it as above.
    Now the startGame function:
              public function startGame(evt:MouseEvent):void
    //Remove the start Page
    //Add the zombie
    //Add the gun
    }//startGame
    And we'll replace those comments with real code.  It follows along with what we just did above.
    public function startGame(evt:MouseEvent):void
    zombie = new Zombie;
    addChild(zombie);
    gun = new Gun;
    addChild(gun);
    And we also want to clean up some by removing the menuPage, and throwing out the eventListener.
    public function startGame(evt:MouseEvent):void
    zombie = new Zombie;
    addChild(zombie);
    gun = new Gun;
    addChild(gun);
    menuPage.startButton.removeEventListener(MouseEvent.Click,startGame);
    removeChild(menuPage);
    }//startGame
    Now our Game class is complete.
    The Zombie Class
    public function zombieWalk(evt:Event):void
    this.addEventListener(Event.ENTER_FRAME,zombieWalk);
    this.x = this.x + 10;
    }//zombieWalk
    Notice we've added a function to the Zombie Class.
    The first function adds an EventListener to the zombie.  We can use the word this and actionScript knows we're talking about the zombie that the class is written for.  This listener fires off every frame.  If our FLA file is set to 12fps, then 12 times every second it will call on the zombieWalk function.
    The zombie walk function moves the zombie 10 pixels to the right every time the function is called.
    On a more advanced level, you'll want to add animation in the MovieClip to move the zombie legs.  You'll also want to use Timer events to space out how often the funtion fires and not ENTER_FRAME events.  And you'll want to use a static constant to establish how far the zombie moves.  We have it now set to 10 pixels, but that can get irritating if we want to change that value later.  But again, baby steps.
    And finally, the Gun class
    public function Gun():void
    this.addEventListener(MouseEvent.CLICK, fireGun);
    }//function
    public function fireGun(evt:MouseEvent):void
    this.gotoAndPlay(2);
    }//fireGun
    First we add an EventListener for when someone clicks on the gun.  Once this happens, the listener calls on the fireGun function.
    The fireGun function takes advantage of the frames within the Gun MovieClip.  Say we have three frames in the Gun MovieClip.  The first is just a picture of the gun.  The second is the gun with a flash coming out of the nozzle.  And the third is the gun at rest again.  The line this.gotoAndPlay(2) sends the gun to the second frame with the flash graphic.
    For this to work, each frame in the Gun MovieClip has to have some stop and play commands.
    But.. you said no code on our timeline!! Liar!
    I know.  This is the exception.  You will need basic stop() commands and gotoAndPlay commands to loop animations.  Any MovieClip that has more than one frame will need something to control it.
    So our Gun MovieCLip has the following:
    Frame 1: stop();
    Frame 2: no actionScript... and I mean nothing, not even the words, "no actionScript"
    Frame 3: gotoAndStop(1);
    This will loop the gun to the beginning and wait for the next time the user clicks the gun.
    Advanced features of the Gun class might include a Bullet.as sub-class that creates a bullet MovieClip to fly across the screen.  Sound to play when the shooting takes place.  Object collision detection to see if the bullet hits the target.  And a means by which a custom event will tell the Game.as class that a zombie has been hit and it should be removed from the stage.
    As you go down the rabbit hole of ActionScript 3, you will find yourself at a point where it's just a matter of getting the syntax right for all the built in functions and classes.  Arrays, Loaders, casting variable types.. all that stuff will come.
    I hope this has been helfpul.  It's been on my to-do list for a long time.  When I first started out, no one could provide me with basic answers for how all these classes and whatnot worked.  After teaching myself AS3 for 2 years and reading a gabillion books, I think I've gotten to a point where I'm pretty comfortable with it all.

  • Dynamically adding multiple instances of a movie clip to the stage with one button

    hello,
    I was wondering if there was a way to add several instances
    of the same movie clip to the stage dynamically utilizing one
    button.
    I can do one with the following code placed on the button...
    on (release) {
    attachMovie ("filledCircle", "filled1", 5);
    filled1._x = 370;
    filled1._y = 225;
    But I want the user to be able to hit the button again and
    get yet another instance of "filledCircle" on the stage.
    I also want the user to be able to drag these instances
    around...
    Any help would be appreciated...
    Thanks,
    Muhl

    Muhl,
    > I was wondering if there was a way to add several
    > instances of the same movie clip to the stage
    > dynamically utilizing one button.
    Sure thing.
    > I can do one with the following code placed on the
    > button...
    >
    > on (release) {
    > attachMovie ("filledCircle", "filled1", 5);
    > filled1._x = 370;
    > filled1._y = 225;
    > }
    Gotcha.
    > But I want the user to be able to hit the button again
    > and get yet another instance of "filledCircle" on the
    > stage.
    You're in luck, because this isn't very hard to do. The main
    thing to
    keep in mind is that each instance must have A) its own
    unique instance name
    and B) its own unique depth. In your example, the instance
    name is filled1
    and the depth is 5. The next clip's instance name should be
    filled2 at a
    depth of 6. Then filled3, depth 7, and so on. You can use a
    single
    variable to handle the incrementation.
    // code in a frame
    var counter:Number = 1;
    // code on your button
    on (release) {
    attachMovie ("filledCircle", "filled" + counter, counter +
    4);
    With me so far? The variable counter contains the numeric
    value 1. The
    second parameter of attachMovie() is provided with a
    concatenation of
    "filled" + 1, which makes "filled1". The third parameter is
    provided with
    the sum of counter plus 4, which makes 5. Obviously, we need
    a bit more.
    The button must, in addition, increment the value of counter.
    The ++
    operator handles this perfectly.
    on (release) {
    attachMovie ("filledCircle", "filled" + counter, counter +
    4);
    counter++;
    Now, it seems you also want to position the attached movie
    clip to (370,
    225). Are they call supposed to go to the same place? If so,
    you may use a
    second variable to hold a reference to the newly attached
    clip. Look up
    MovieClip.attachMovie(), and you'll see that the method
    returns the exact
    reference you need.
    // code in a frame
    var counter:Number = 1;
    var mc:MovieClip;
    // code on your button
    on (release) {
    mc = attachMovie ("filledCircle", "filled" + counter,
    counter + 4);
    counter++;
    mc._x = 370;
    mc._y = 225;
    Make sense?
    > I also want the user to be able to drag these instances
    > around...
    Then you need to handle a few events. You're dealing with
    movie clips
    here, so your best bet is to study up on the MovieClip class,
    which defines
    all movie clips. (Note, also, that the TextField class
    defines all input
    and dynamic text fields; the Sound class defines all sounds,
    etc. This is a
    very handy arrangement of the ActionScript 2.0 Language
    Reference.)
    // code in a frame
    var counter:Number = 1;
    var mc:MovieClip;
    // code on your button
    on (release) {
    mc = attachMovie ("filledCircle", "filled" + counter,
    counter + 4);
    counter++;
    mc._x = 370;
    mc._y = 225;
    mc.onPress = function() {
    this.startDrag();
    mc.onRelease = function() {
    this.stopDrag();
    Easy as that. You're simply assigning a function literal to
    the event
    of each new MovieClip instance as you create it. Take a look
    and you'll see
    each of these class members available to you -- that is, to
    all movie clips.
    MovieClip.onPress, MovieClip.startDrag(), MovieClip._x, etc.
    Wherever it shows the term MovieClip in the Language
    Reference, just
    replace that with the instance name of your clip -- or a
    reference to that
    clip (which even includes the global "this" property).
    David
    stiller (at) quip (dot) net
    Dev essays:
    http://www.quip.net/blog/
    "Luck is the residue of good design."

  • Load movie clip

    Whenever I load a movie clip into the target and test my
    movie, the loaded movie clip always loads in the bottom right. I
    think this is a registration error but I am not sure how to fix it.
    My target is 835px by 635px, same as the movie clip I want to load.
    Any help would be much appreciated.

    Position the blank movie clip in the top left corner where
    you want to have
    the external movie clip loaded.
    Note that if the external movie clip has dynamic content
    creation via AS or
    different content size on higher numbered frames you may find
    it will show
    content to the left and top of the blank movie clip because
    initial size is
    not detectable. In particular if you are loading Flash movie
    that you
    created that you used a third party tool such as xCelsius. In
    this case you
    need to MovieClipLoader and once the onLoadInit event fires,
    manually
    position the blank movie clip which is passed as an argument
    for coding
    convenience.
    Lon Hosford
    www.lonhosford.com
    May many happy bits flow your way!
    "northstar_86" <[email protected]> wrote in
    message
    news:e27cer$5i2$[email protected]..
    Whenever I load a movie clip into the target and test my
    movie, the loaded
    movie clip always loads in the bottom right. I think this is
    a registration
    error but I am not sure how to fix it. My target is 835px by
    635px, same as
    the
    movie clip I want to load. Any help would be much
    appreciated.

  • Dynamically placing movie clip at the angle and global position of a mouse click (button) which is constantly rotating.

    Does anyone know the code for finding the global positioning of  X & Y co-ordinates of a click of a button which is constantly rotating,
    and then secondly the code for when you click on the button it  displays a movie clip on top of it -(position of x & y when clicked) at the angle that you clicked it  (so underneath the buttons are still rotating so other people can click them where they are)
    to explain the context, I'm trying to design a mock up of a circular interactive table
    when someone comes up to it and clicks on one of the buttons that are moving, it reads where the person clicked it and opens up a new box (movie clip) where they clicked it (at the angle) so its not upside down if you are at the top.
    I've included my .fla file which shows the four buttons moving and a little diagram
    explaining what I'm trying to do.

    yourbutton.addEventListener(MouseEvent.CLICK,f);
    function f(e:MouseEvent){
    var yourmc:MovieClip=new YourMC();
    yourmc.x=e.stageX;  // if you want the mouse position where the button was clicked.  else use e.currentTarget.x and e.currentTarget.y
    yourmc.y=e.stageY;
    yourmc.rotation=e.currentTarget.rotation;
    addChild(yourmc);

  • Movie clip position

    My questoin is, how can I setup an
    alight(left,right,botton...) for a especific movie clip, whenever
    the windows size.
    I want this movie clip alight on the right side of the
    windows either if the windows be resized.
    an example here :
    http://www.podmedialtd.com/
    The city is aways on the right side.
    Can anyone help me
    Thank you.

    I got it..
    var stageListener = new Object ();
    stageListener.onResize = function(){
    test._x = (Stage.width / 2) + tste._width;
    Stage.addListener(stageListener);
    Where test is the variable name of your movie clip.

  • Need help returning correct name from a code created movie clip

    Hello. I am an AS3 n00b with hopefuly a simple question I am designing a simple game in flash. This code creates an array of movie clips and asigns a picture to each one. It is a map screen. What I need is when I click on one of the created movie clips, I need it to return either the index of the clip in the array or the name of the clip. Basicaly anything I can use to tell them apart in the code. Here is the code:
    import flash.display.MovieClip;
    var MapLoader:Array = new Array();
    var strJPGext:String = ".jpg";
    var intContTileNumber:int;
    var strContTilePath:String;
    var intDistStartX:int = 63;
    var intDistStartY:int = 64;
    var intDistMultiplyY:int = 0;
    var intDistMultiplyX:int = 0;
    var intDistCount:int = 0;
    var MapSquare:Array = new Array();
    for (var i:int = 0; i < 729; i++)
             //var MapSquare:MovieClip = new MovieClip();
            MapSquare.push (new MovieClip());
            MapSquare[i].x = intDistStartX + (intDistMultiplyX * 30);
            MapSquare[i].y = intDistStartY + (intDistMultiplyY * 30);
            MapSquare[i].name = "MapSquare" + i ;
            addChild(MapSquare[i]);
            intContTileNumber = i;
            MapLoader.push (new Loader);
            strContTilePath = intContTileNumber + strJPGext;
            MapLoader[i].load(new URLRequest(strContTilePath));
            MapSquare[i].addChild(MapLoader[i]);
            intDistCount++;
            intDistMultiplyX++;
            if (intDistCount > 26){
            intDistCount = 0;
            intDistMultiplyX = 0;
            intDistMultiplyY++;
    stage.addEventListener(MouseEvent.CLICK, reportClick);
    function reportClick(event:MouseEvent):void
        trace("movieClip Instance Name = " + event.target.name);   
    Now all this works fine, it creates the map and assigns the correct picture and places them in the correct X,Y position and it is the correct grid of 27x27 squares. The problem is with the name, when I click on the movie clip, it returns "Instance2" or "Instance5" or whatever. It starts with 2 and then increases each number by 3 for each clip, so the first one is 2, then 5 then 8 and so on. This is no good. I need it to return the name that I assigned it
    . If I put the code in trace(MapSquare[1]) it will return the name "MapSquare1" so I know the name was assigned, but it isnt returning.
    Please assist
    Thanks,
    -red

    Thanks for the resopnse,
    I know I dont really need the name, I just need the index number of the array, but I cant figure out how to get the index name without specificaly coding for it. That is why in the listener event I use event.target.name because I dont know what movie clip is being clicked until it has been clicked on. Basically when a movie clip is clicked it needs to return which index of the array was clicked.
    I could do it this way:
    MapSquare[0].addEventListener(
      MouseEvent.MOUSE_UP,
      function(evt:MouseEvent):void {
        trace("I've been clicked!");
    MapSquare[1].addEventListener(
       MouseEvent.MOUSE_UP,
       function(evt:MouseEvent):void {
         trace("I've been clicked!");
    MapSquare[2].addEventListener(
       MouseEvent.MOUSE_UP,
       function(evt:MouseEvent):void {
         trace("I've been clicked!");
    ... ect
    but that is unreasonable and it kind of defeats the purpose of having the array in the first place. The code that each movie clip executes is the same, eventualy that index will be passed into a database and the data at that primary key will be retrieved and returned to the program. So I just need to know, when one of those buttons is clicked, which one was clicked and what is its index in the array.
    I am a VB programer and in VB this is very easy, the control array automatically sends its own index into the function when one of the buttons is clicked. It seems simple enough, I just dont know how to do it in action script.
    Thanks again,
    -red

  • How can I display a Movie clip from library on stage in AS3?

    Hi,
    I have a movie clip in my library and I would like to display it on the stage using AS3.
    do I have to define it as a variable?Do  I need to use this code:  addchild(movieclip);
    can I use the 'x' and 'y' to position it?
    What would the code look like?
    Ben.

    Great! it works  well ! thanks
    But I have another question, if I wanted to used the same movie clip but postion it at different x and y positions when a different btn is selected how could I do that?
    Would I have to make a copy of the movie clip and give it a different name?
    or is there an better way around it?
    Ben.

  • How to stop a movie clip moving

    I'm not newbie to flash but I am newbie to coding using
    actionscript!!!
    I am trying to create a button that moves a movie clip
    ("content1") diagonally across the screen but once the movie clip
    reaches a certain x co-ordinate I want it to stop and then when I
    click another button I would like it to return to it's starting
    position. At the moment the movie clip moves if I click one of the
    buttons but as soon as I click another one it stops which it
    shouldn't it should go back in the other direction. The other
    problem is that once I've clicked a button I cant seem to get it to
    stop moving once it reaches a certain _x position it just keeps on
    moving off the stage.
    Below is the script I have so far not including any
    conditions to check if "content1" has reached it _x position
    Could anyone help please!!!!
    //on Right movie clip containing the button
    onClipEvent (enterFrame) {
    _root.content1._x += speedX;
    _root.content1._y -= speedY;
    //on Right button inside movie clip
    on (press) {
    speedX = 5.5;
    speedY = 1.33;
    //on Left movie clip containing the button
    onClipEvent (enterFrame) {
    _root.content1._x += speedX;
    _root.content1._y -= speedY;
    //on Left button inside movie clip
    on (press) {
    speedX = 5.5;
    speedY = 1.33;

    Many thanks ClBeech!!!
    I've tried the code you suggested but it doesn't seem to work
    :0(
    I'm working on a Mac using Flash Pro 8 which only has the
    option to publish as 'actionscript 1.0 or 2.0' is the script you
    supplied an actionscript 3.0?
    Below is the script with the amendments, I've changed my
    button instance names to match the script you supplied (left_btn /
    right_btn)
    stop();
    import mx.transitions.Tween;
    import mx.transitions.easing.Strong;
    var rposX = 369;
    //the ending x of the right position
    var rposY = 84;
    //the ending y of the right position
    var lposX = 116;
    //the ending x of the left position
    var lposY = 154;
    //the ending y of the left position
    right_btn.onPress = function() {
    new Tween(content1, '_x', Strong.easeOut, content1._x,
    rposX, time, false);
    new Tween(content1, '_y', Strong.easeOut, content1._y,
    rposY, time, false);
    left_btn.onPress = function() {
    new Tween(content1, '_x', Strong.easeOut, content1._x,
    lposX, time, false);
    new Tween(content1, '_y', Strong.easeOut, content1._y,
    lposY, time, false);

  • How to stop a movie clip that is loaded dynamically

    Hello Flash Forum,
    I am using the loadmovie method to load a swf file into a
    movie clip "container"
    Code snippet:
    var mc:MovieClip = this.createEmptyMovieClip("mc",1);
    mc.loadMovie('bbc_module1.1.swf','bbc_audio',container.getNextHighestDepth(),
    {_x:300.8, _y:240});
    mc._lockroot = true;
    The movie clip I load does not have a stop action in frame 1,
    but comes up playing (audio and images). I am not using video. It
    is a series of still images synced to the audio.
    I would like to be able to load the movie clip, stop it from
    playing, and by clicking buttons, get it to play, pause, etc like
    the buttons and skin on the FLVPlayer.
    Any tips on how to do this?
    Thanks,
    eholz1

    Many thanks ClBeech!!!
    I've tried the code you suggested but it doesn't seem to work
    :0(
    I'm working on a Mac using Flash Pro 8 which only has the
    option to publish as 'actionscript 1.0 or 2.0' is the script you
    supplied an actionscript 3.0?
    Below is the script with the amendments, I've changed my
    button instance names to match the script you supplied (left_btn /
    right_btn)
    stop();
    import mx.transitions.Tween;
    import mx.transitions.easing.Strong;
    var rposX = 369;
    //the ending x of the right position
    var rposY = 84;
    //the ending y of the right position
    var lposX = 116;
    //the ending x of the left position
    var lposY = 154;
    //the ending y of the left position
    right_btn.onPress = function() {
    new Tween(content1, '_x', Strong.easeOut, content1._x,
    rposX, time, false);
    new Tween(content1, '_y', Strong.easeOut, content1._y,
    rposY, time, false);
    left_btn.onPress = function() {
    new Tween(content1, '_x', Strong.easeOut, content1._x,
    lposX, time, false);
    new Tween(content1, '_y', Strong.easeOut, content1._y,
    lposY, time, false);

  • How to stop a slideshow and show another movie clip at the end?

    Currently my slideshow is in a loop. At the end of last slideshow, I want to show another movie clip (End_mv) that's on another layer. How do I do that? My current scripts are below:
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    //change scale on an image
    var fadeTween:Tween;
    //To slide in on X axis
    var slideXTween:Tween;
    //To slide in on Y axis
    var slideYTween:Tween;
    //To fade IN
    var alphaTween:Tween;
    //To get bigger on its X axis
    var scaleXTween:Tween;
    //To get bigger on its Y axis
    var scaleYTween:Tween;
    //var fadeTween:Tween;
    //description place holder
    var strDescrp:String;
    //source place holder
    var strSource:String;
    //x poistion
    var posX:Number;
    //y position
    var posY:Number;
    //degree rotation
    var degreeRot:Number;
    // delay between slides
    //const TIMER_DELAY:int = 5000;
    var TIMER_DELAY:int = 5000;
    // fade time between slides
    const FADE_TIME:int = 3;
    // reference to the current slider container
    var currentContainer:Sprite;
    // index of the current slide
    var intCurrentSlide:int = -1;
    // total slides
    var intSlideCount:int;
    // timer for switching slides
    var slideTimer:Timer;
    // slides holder
    var sprContainer1:Sprite;
    var sprContainer2:Sprite;
    // slides loader
    var slideLoader:Loader;
    // url to slideshow xml
    var strXMLPath:String = "lstHouse.xml";
    // slideshow xml loader
    var xmlLoader:URLLoader;
    // slideshow xml
    var xmlSlideshow:XML;
    var txtField:TextField = new TextField();
    var formatText:TextFormat = new TextFormat();
    //start of sound section is for sound
    var soundReq:URLRequest = new URLRequest("PaukenBrumfiel_AngelsOnHigh.mp3");
    var sound:Sound = new Sound();
    sound.load(soundReq);
    sound.addEventListener(Event.COMPLETE, onComplete);
    //end of sound section
    function onComplete(event:Event):void
        sound.play();
    function init():void
        // create new urlloader for xml file
        xmlLoader = new URLLoader();
        // add listener for complete event
        xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete);
        // load xml file
        xmlLoader.load(new URLRequest(strXMLPath));
        // create new timer with delay from constant
        slideTimer = new Timer(TIMER_DELAY);
        // add event listener for timer event
        slideTimer.addEventListener(TimerEvent.TIMER, switchSlide);
        // create 2 container sprite which will hold the slides and
        // add them to the masked movieclip
        sprContainer1 = new Sprite();
        sprContainer2 = new Sprite();   
        mcSlideHolder.addChild(sprContainer1);
        mcSlideHolder.addChild(sprContainer2);
        // keep a reference of the container which is currently
        // in the front
        currentContainer = sprContainer2;
    function onXMLLoadComplete(event:Event):void
        // create new xml with the received data
        xmlSlideshow = new XML(event.target.data);
        // get total slide count
        intSlideCount = xmlSlideshow..image.length();
        // switch the first slide without a delay
        switchSlide(null);
    function fadeSlideIn(e:Event):void {
        // add loaded slide from slide loader to the
        // current container
        currentContainer.addChild(slideLoader.content);
        // clear preloader text
        //mcInfo.lbl_loading.text = "";
        // fade the current container in and start the slide timer
        // when the tween is finished
        //Tweener.addTween(currentContainer, {alpha:1, time:FADE_TIME, onComplete:function() { slideTimer.start(); }});       
        //strSource = xmlSlideshow.image[intCurrentSlide].@src;
        fadeTween = new Tween(currentContainer, "alpha", Regular.easeInOut, 0, 1, 2, true)
        //scale = new Tween(currentContainer, "alpha", Regular.easeInOut, 0, 1, 2, true)
        slideTimer.start()
        onComplete:function();
    function switchSlide(e:Event):void
        // check, if the timer is running (needed for the
        // very first switch of the slide)
        if(slideTimer.running)
            slideTimer.stop();
        // check if we have any slides left and increment
        // current slide index
        if(intCurrentSlide + 1 < intSlideCount)
            intCurrentSlide++;
        // if not, start slideshow from beginning
        else
            intCurrentSlide = 0;
        // check which container is currently in the front and
        // assign currentContainer to the one that's in the back with
        // the old slide
        if(currentContainer == sprContainer2)
            currentContainer = sprContainer1;
        else
            currentContainer = sprContainer2;
        // hide the old slide
        currentContainer.alpha = 0;
        // bring the old slide to the front
        mcSlideHolder.swapChildren(sprContainer2, sprContainer1);
        strDescrp = xmlSlideshow.image[intCurrentSlide].@desc;
        //strSource = xmlSlideshow.image[intCurrentSlide].@src;
        //txtField.border = true;
        //txtField.x = 0;
        //txtField.y = 600;
        txtField.width = 855;
        txtField.height = 200;   
        //txtField.background = true;
        //txtField.backgroundColor = 0xEE9A00;
        txtField.alpha = 20;
        txtField.text = strDescrp;
        formatText.align = TextFormatAlign.CENTER;
        //txtField.autoSize = TextFieldAutoSize.LEFT;
        formatText.color = 0x000;
        formatText.size = 30;
        txtField.x = 0;
        txtField.y = 550;
        posX = 0;
        posY = 0;
        degreeRot = 0;
        // create a new loader for the slide
        slideLoader = new Loader();
        // add event listener when slide is loaded
        slideLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeSlideIn);
        // load the next slide
        slideLoader.load(new URLRequest(xmlSlideshow.image[intCurrentSlide].@src));   
        addChild(txtField);
        txtField.setTextFormat(formatText)
    // init slideshow
    init();

    I got this error:
    ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
        at flash.display::DisplayObjectContainer/swapChildren()
        at University_Advancement_Holiday_Greeting2012_fla::MainTimeline/switchSlide()
        at flash.utils::Timer/_timerDispatch()
        at flash.utils::Timer/tick()
    And here's the code:
    // import tweener
    //import caurina.transitions.Tweener;
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    import flash.display.MovieClip;
    //change scale on an image
    var fadeTween:Tween;
    //To slide in on X axis
    var slideXTween:Tween;
    //To slide in on Y axis
    var slideYTween:Tween;
    //To fade IN
    var alphaTween:Tween;
    //To get bigger on its X axis
    var scaleXTween:Tween;
    //To get bigger on its Y axis
    var scaleYTween:Tween;
    //var fadeTween:Tween;
    //description place holder
    var strDescrp:String;
    //source place holder
    var strSource:String;
    //x poistion
    var posX:Number;
    //y position
    var posY:Number;
    //degree rotation
    var degreeRot:Number;
    // delay between slides
    //const TIMER_DELAY:int = 5000;
    var TIMER_DELAY:int = 5000;
    // fade time between slides
    const FADE_TIME:int = 3;
    // reference to the current slider container
    var currentContainer:Sprite;
    // index of the current slide
    var intCurrentSlide:int = -1;
    // total slides
    var intSlideCount:int;
    // timer for switching slides
    var slideTimer:Timer;
    // slides holder
    var sprContainer1:Sprite;
    var sprContainer2:Sprite;
    // slides loader
    var slideLoader:Loader;
    // url to slideshow xml
    var strXMLPath:String = "lstHouse.xml";
    // slideshow xml loader
    var xmlLoader:URLLoader;
    // slideshow xml
    var xmlSlideshow:XML;
    var txtField:TextField = new TextField();
    var formatText:TextFormat = new TextFormat();
    //var myEnding:MovieClip = stage.getChildByName('End_mc') as MovieClip;
    //start of sound section is for sound
    var soundReq:URLRequest = new URLRequest("PaukenBrumfiel_AngelsOnHigh.mp3");
    var sound:Sound = new Sound();
    sound.load(soundReq);
    sound.addEventListener(Event.COMPLETE, onComplete);
    //end of sound section
    function onComplete(event:Event):void
        sound.play();
    function init():void
        //reference my movie clip "End_mc" oon the stage and turn its visibility off
        MovieClip(getChildByName('End_mc')).visible = false;
        // create new urlloader for xml file
        xmlLoader = new URLLoader();
        // add listener for complete event
        xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete);
        // load xml file
        xmlLoader.load(new URLRequest(strXMLPath));
        // create new timer with delay from constant
        slideTimer = new Timer(TIMER_DELAY);
        // add event listener for timer event
        slideTimer.addEventListener(TimerEvent.TIMER, switchSlide);
        // create 2 container sprite which will hold the slides and
        // add them to the masked movieclip
        sprContainer1 = new Sprite();
        sprContainer2 = new Sprite();   
        mcSlideHolder.addChild(sprContainer1);
        mcSlideHolder.addChild(sprContainer2);
        // keep a reference of the container which is currently
        // in the front
        currentContainer = sprContainer2;
    //function onXMLLoadComplete(e:Event):void
    function onXMLLoadComplete(event:Event):void
        // create new xml with the received data
        xmlSlideshow = new XML(event.target.data);
        // get total slide count
        intSlideCount = xmlSlideshow..image.length();
        // switch the first slide without a delay
        switchSlide(null);
    function fadeSlideIn(e:Event):void {
        // add loaded slide from slide loader to the
        // current container
        currentContainer.addChild(slideLoader.content);
        // clear preloader text
        //mcInfo.lbl_loading.text = "";
        // fade the current container in and start the slide timer
        // when the tween is finished
        //Tweener.addTween(currentContainer, {alpha:1, time:FADE_TIME, onComplete:function() { slideTimer.start(); }});       
        //strSource = xmlSlideshow.image[intCurrentSlide].@src;
        fadeTween = new Tween(currentContainer, "alpha", Regular.easeInOut, 0, 1, 2, true)
        //scale = new Tween(currentContainer, "alpha", Regular.easeInOut, 0, 1, 2, true)
        slideTimer.start()
        onComplete:function();
    function switchSlide(e:Event):void
        // check, if the timer is running (needed for the
        // very first switch of the slide)
        if(slideTimer.running)
            slideTimer.stop();
        // ADDED: Check if using sprContainer2 and at the last slide
        //if ((currentContainer == sprContainer2) && (intCurrentSlide == intSlideCount))
        trace("Current Slide: " + intCurrentSlide);
        trace("SlideCount: " + intSlideCount);
        if ((currentContainer == sprContainer2) && ((intCurrentSlide + 1) == intSlideCount))
            // hide the slideshow (and other related elements, or remove them if desired)
            //mcSlideHolder.visible = false;
            // remove any clips directly inside slideshow (any timers/etc need to be stopped too)
             while (mcSlideHolder.numChildren > 0)
                mcSlideHolder.removeChildAt(0);
            // I do see a var named 'sound' playing so you might want to:
             //sound.stop();
             //sound = null;
            // etc any other slideshow-only elements to hide/remove..
            // play your movie
            MovieClip(getChildByName('End_mc')).visible = true;
            MovieClip(getChildByName('End_mc')).play();       
        // check if we have any slides left and increment
        // current slide index
        if(intCurrentSlide + 1 < intSlideCount)
            intCurrentSlide++;
        // if not, start slideshow from beginning
        else
            intCurrentSlide = 0;
        // check which container is currently in the front and
        // assign currentContainer to the one that's in the back with
        // the old slide
        if(currentContainer == sprContainer2)
            currentContainer = sprContainer1;
        else
            currentContainer = sprContainer2;
        // hide the old slide
        currentContainer.alpha = 0;
        // bring the old slide to the front
        mcSlideHolder.swapChildren(sprContainer2, sprContainer1);
        strDescrp = xmlSlideshow.image[intCurrentSlide].@desc;
        //strSource = xmlSlideshow.image[intCurrentSlide].@src;
        //txtField.border = true;
        //txtField.x = 0;
        //txtField.y = 600;
        txtField.width = 855;
        txtField.height = 200;   
        //txtField.background = true;
        //txtField.backgroundColor = 0xEE9A00;
        txtField.alpha = 20;
        txtField.text = strDescrp;
        formatText.align = TextFormatAlign.CENTER;
        //txtField.autoSize = TextFieldAutoSize.LEFT;
        formatText.color = 0x000;
        formatText.size = 30;
        txtField.x = 0;
        txtField.y = 550;
        posX = 0;
        posY = 0;
        degreeRot = 0;
        // create a new loader for the slide
        slideLoader = new Loader();
        // add event listener when slide is loaded
        slideLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeSlideIn);
        // add event listener for the progress
        //slideLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
        // load the next slide
        slideLoader.load(new URLRequest(xmlSlideshow.image[intCurrentSlide].@src));   
        addChild(txtField);
        txtField.setTextFormat(formatText)   
    // init slideshow
    init();

  • Unloading a movie clip from a for statement

    Hi,
    I have this code:
    //create empty movie clips to place bin top, flame and bin
    bottom in that order
    this.createEmptyMovieClip("holder_mc2",this.getNextHighestDepth());
    this.createEmptyMovieClip("holder_mc",this.getNextHighestDepth());
    this.createEmptyMovieClip("holder_mc1",this.getNextHighestDepth());
    //attach movie clip/variables
    var dsfInstance:DropShadowFilter = new DropShadowFilter(5,
    45, 0x000000, 1, 10, 10);
    var b:MovieClip =
    holder_mc2.attachMovie("binTop_mc","binTop_mc",holder_mc2.getNextHighestDepth());
    var a:MovieClip =
    holder_mc1.attachMovie("binBottom_mc","binBottom_mc",holder_mc1.getNextHighestDepth());
    //property values
    a._x = 419;
    a._y = 244;
    a._width = 112.0
    a._height = 140.0
    b._x = 419;
    b._y = 175;
    b._width = 112.8;
    b._height = 10.1;
    a.filters = [dsfInstance];
    //create for loop to place the flame particle on the stage
    many times
    for(i=0;i<200;i++){
    //places in temporary movieclip t
    var t:MovieClip =
    holder_mc.attachMovie("flame","flame"+i,holder_mc.getNextHighestDepth());
    // position the movieclip on the stage for y co-ordinates
    t._y = 190;
    t._x = Math.random()*80+(Stage.width/2+115);
    //give the flame random sizes no larger than 80 pixels and no
    smaller than 20
    t._xscale = t._yscale = Math.random()*80 + 20;
    //randomize the frame the movieclip is going to start in the
    flame movie clip is 16 frame long so it will pick number between
    that
    //because math.random produces decimal values we round the
    number using math.ceil to the high whole number
    t.gotoAndPlay(Math.ceil(Math.random()*16));
    what i want to do is remove the movieclip in the for loop off
    the stage when i click on a button. i can manage to remove the
    movie clips with the variables a and b but i cant do it with the
    one in the for loop.
    i put this code in the button:
    on(release){
    play();
    stopAllSounds();
    a.removeMovieClip();
    b.removeMovieClip();
    t.removeMovieClip();
    Is there a way to do this?

    im so dumb! i figured it out.
    i used the "holder_mc" the name of the empty movie clip.
    holder_mc.removeMovieClip();

  • Problems coding a button within a movie clip to navigate scenes

    Hello there! I've got another probably noobish question to ask about CS6.
    My goal is very similar to the one mentioned in this previously discussed forum question: http://forums.adobe.com/message/837995#837995 and also in this question http://forums.adobe.com/message/4172919#4172919
    I am attempting to make a button inside a movie clip in my first scene go when clicked to the first frame of my second scene. I named the button's instance menu_button_1 and I believe Scene 1 and Scene 2 are the names of the scenes. (If they should have special names or instance names, I did not see where to type them.) Because of the similarities, I attempted to follow the suggestions on those pages. However I probably did some small thing wrong, (Or heck, maybe a huge thing.) which I what I'd like help with to find.
    stop();
    myButton.addEventListener(MouseEvent.CLICK, clickHandler);
    function clickHandler(evt:MouseEvent):void {
    gotoAndStop(1, "Scene 1");
    This seemed to be what was suggested to enter. I attempted to modify it to work for me as well. This is what I typed for the button's action.
    menu_button_1.addEventListener(MouseEvent.CLICK, clickHandler);
    function clickHandler(evt:MouseEvent):void {
    gotoAndPlay(1, "Scene 2");
    (I removed the stop function because I have music looping in the movie clip that I want to play until the mouse is clicked.) (Also, I picked gotoandplay because I wanted scene 2 to start playing immediately when clicked rather than stopping.)
    I tried variations, including "2" instead of "scene 2" and whatnot. I also tried linking it to differnet places just to see if that would work. It seems like it could link if I only asked for a frame within the movie clip itself, but it couldn't go to any other frames in scene 1 or scene 2. When I attempt, this message is displayed in the output:
    ArgumentError: Error #2108: Scene 2 was not found.
        at flash.display::MovieClip/gotoAndPlay()
        at interactivestgermant_fla::menu_1/clickHandler()
    It seems it cannot find my Scene 2. (It also cannot seem to find Scene 1 when I prompt it to do that.) I'm afraid I'm not sure of what I've entered incorrectly, though I'd imagine it involves how I typed the scene navigation. Should it have an instance name or something? I'd very muchappreciate a push in the right direction. If you need any more info I'll be happy to provide it. Thanks for the help! I very much appreciate it.

    I bet you're absolutely right. However I am not sure how I am misnaming it, as to my ametuer eyes, it seems to be entered properly into the properties box? It does show up as "menu" written in white over the keyframes and also in the properties slot. I can include some images here to help out in correcting me.
    http://girlfoxgirl.deviantart.com/art/Flash-Help-1-395704638   This image shows my movie clip. This seems to be the problem it's having, identifying "menu." Did I do that incorrectly? It looks to be in order.
    http://girlfoxgirl.deviantart.com/art/Flash-Help-2-395704633 This is inside of the movie clip named menu. You can see I did the same to name the button menu_button_1.
    http://girlfoxgirl.deviantart.com/art/Flash-Help-3-395704627   This shows the action I gave to menu_button_1 in which I attempt to have it naviagte to Scene 1 frame 493.
    http://girlfoxgirl.deviantart.com/art/Flash-Help-4-395704623  This shows where I'd like the button to go to. (It is hard to tell if that's frame 493 or 492. I figured that it should be ok either way and if this frame is 492 then it's easily changed once I get the darn thing working in general) (Also, I named the layer "peanuts." I tired entering the name "peanuts" as well but it didn't seem to work either, so I figured "493" is easier since I know that you can go to a specific frame by doing gotoandplay("scene 1" , #) and I'm not sure if it requires any additional stuff to go to a name.
    http://girlfoxgirl.deviantart.com/art/Flash-Help-5-395704687    These are the errors I get. I totally agree with you- It seems very much to be an issue of getting it to recognize the "menu." However I am unsure where I named something wrong. Is this enough info to help you perhaps point out where that is?

  • How to build a custom movie clip that will be used as a cell renderer for column in a grid ?

    i want to build a datagrid that shows a picture and underneath it a name.
    the problem is i dont want to see all of the pictures, but all the pictures that have certain requirements, so i cant just make one movie clip that includes all the pictures and names.
    so my question is how do i build a movie clip that contains photo and text?.

    You do not create movieclips on the timeline using code, though you can create them and add them as children of something that has been manually placed in the timeline.
    To create a MovieClip using code you use: 
        var mc:MovieClip = new MovieClip();
    If you need to add an image, then however you intend to acquire the image, after it has been acquired, you add it to the MovieClip using:  
        mc.addChild(img); 
    where img is the instance of whatever form of object the image takes (Bitmap, Loader)
    If you need to add a TextField to the MovieClip then you use: 
        var tf:TextField = new TextField();
        mc.addChild(tf);
    and you can set up properties for the textfield such as the font and color and position as well after it has been instantiated (the first line).

Maybe you are looking for

  • How to change file location path at run time in OWB 10g

    Hello all, We want to load several files with the same name but from different folders into a single table. The information about the paths is stored in an oracle table. Is there any best practice to achieve this? Our approach is to loop on the numbe

  • Photo Sync problem - Cannot read or write to disk?

    Initial sync of my iPad. Photos seemed to download from iPhoto. Space indicated that entire photo library had been copied to iPad. when I go to look for the pictures on the iPad, the screen message is that no photos exist. Back on the iMac, a notice

  • OAM 11g R2- Performance issue /oam/auth/cred

    Hi Guys, we are facing issues regarding oam performance we are seeing unusual time delay on load, at submission of /oam/auth/cred to the landing page. we have 2 managed server having 2gb of heap size. Any pointers will really helpful. Regards 975200

  • ME21N-Clear error at header level

    Hello Experts, I have a requirement to throw an error message in ME21N if the PR's Sale order has credit limit exceeded. I have done this with exits. Once the error message is thrown, this error message sits at the header level. Even when deleting th

  • What do I do if imported AAC files wont copy onto my iPhone? It has worked in the past with other imported files of the same type.

    I have tried multiple times to sync a bunch of RHCP songs that i imported, but they wont copy onto my iPhone. I have tried isolating them in a playlist and syncing just that playlist and still nothing. please help. I have done this with other songs b