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.

Similar Messages

  • Missing movie clip

    Hi.  I have six movie clips positioned across the stage and a following row of six movie clips below it. All of them move up the stage and are activated with a seperate key press and it works ok first time.  The following times going up the stage, the fith and sixth movie clips are not visible on the first row, but are on the second row.  Why and what can I do to fix it?  The following code is what I am using for each clip - just repeated and named accordingly.       
    CODE:  addEventListener(Event.ENTER_FRAME, leftbubbleMove);
    function leftbubbleMove(e:Event):void {   
        if (leftbubble_mc.y > - 150) {
            trace(leftbubble_mc.y);
            leftbubble_mc.y -=2;
        } else {
            leftbubble_mc.y = 650
            leftbubble_mc.gotoAndStop(1);       
            //leftbubble has reached the top
            //trace("leftbubble has burst");
            //leftbubble_mc.gotoAndPlay(2);
            //leftbubble_mc.y < 50;
        //code to change the color of a movieClip
        var myColor:ColorTransform = leftbubble_mc.transform.colorTransform;
        myColor.color = 0x00FFFF;
        //detect when bubble has entered the target zone
        if (leftbubble_mc.y < 100 && leftbubble_mc.y > 50) {
            //code in here changes the left bubble when it
            //enters the target zone.
            //change back to original when gone past target zone.
            trace("color change bubble");
            leftbubble_mc.transform.colorTransform = myColor;
            //leftbubble_mc.color = 0x00FFFF;
        } else {
            myColor.color = 0xFFFF99
            leftbubble_mc.transform.colorTransform = myColor;
        //detect when bubble has left the target zone   
    addEventListener(Event.ENTER_FRAME, leftbubbleaMove);
    function leftbubbleaMove(e:Event):void {   
        if (leftbubblea_mc.y > - 150) {
            trace(leftbubblea_mc.y);
            leftbubblea_mc.y -=2;
        } else {
            leftbubblea_mc.y = 650
            leftbubblea_mc.gotoAndStop(1);       
            //leftbubblea has reached the top
            //trace("leftbubblea has burst");
            //leftbubblea_mc.gotoAndPlay(2);
            //leftbubblea_mc.y < 50;
        //code to change the color of a movieClip
        var myColor:ColorTransform = leftbubblea_mc.transform.colorTransform;
        myColor.color = 0x00FFFF;
        //detect when bubble has entered the target zone
        if (leftbubblea_mc.y < 100 && leftbubblea_mc.y > 50) {
            //code in here changes the leftbubblea when it
            //enters the target zone.
            //change back to original when gone past target zone.
            trace("color change bubble");
            leftbubblea_mc.transform.colorTransform = myColor;
            //leftbubblea_mc.color = 0x00FFFF;
        } else {
            myColor.color = 0xFFFF99
            leftbubblea_mc.transform.colorTransform = myColor;
        //detect when bubble has left the target zone   
    AND ALSO
    stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler );
    function keyDownHandler(e:KeyboardEvent):void {
            if (e.keyCode == "Q".charCodeAt()) {
            trace("Q has been pressed");
        //place if to limit region of screen in which bubble can be popped here
        //removeChild(leftbubble_mc)
            if (leftbubble_mc.y < 100 && leftbubble_mc.y > 70)  {
            trace("leftbubble has been burst"); 
            leftbubble_mc.gotoAndPlay(2); 
            if (e.keyCode == "Q".charCodeAt()) {
            trace("Q has been pressed");
        //place if to limit region of screen in which bubble can be popped here
        //removeChild(leftbubble_mc)
            if (leftbubblea_mc.y < 100 && leftbubblea_mc.y > 70)  {
            trace("leftbubblea has been burst");
            leftbubblea_mc.gotoAndPlay(2);
    stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler ); 
            if (e.keyCode == "G".charCodeAt()) {
            trace("G has been pressed");
        //place if to limit region of screen in which bubble can be popped here
        //removeChild(left1bubble_mc)
            if (left1bubble_mc.y < 100 && left1bubble_mc.y > 70)  {
            trace("left1bubble has been burst");
            left1bubble_mc.gotoAndPlay(2);

    Please ignore this question -  I had
    code typing errors.  Got it working.

  • How do I stop a movie clip from looping

    I am using Action Script 3 and the 'stop()' function is not working to stop my movie clips from looping continuously.
    I have added the 'stop()' function to the last frame on the timeline of each movie clip.
    I originally built the .fla file in Flash CS6 using Action Script 2 where it was working with no problems (I have since upgraded and don't have access to CS6 anymore).
    I have all the separate movie clips positioned on Frame 1 of my main stage with the following script to start them playing:
    Cigarette_Reveal.play();
    KickTheHabit.play();
    BallMove.play();
    BallFlip.play();
    Offer.play();
    I want each of these movie clips to stop playing after one animation sequence is complete.
    Please help!

    Turn on strict mode in your publish settings. This will allow you to see the compiler errors that are preventing the actionscript in your fla from compiling correctly.

  • 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

  • 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);

  • Load Movie vs. container clip position with tooltips

    Hi,
    I have a .swf file with tool tips and dynamic colors on movie clips that I want to load into another movie.
    s_1800.onRollOver = function (){
    myTooltip.content = "Office #: 1800"+newline+"SF: 0";
    var colorful = new Color ("_root.s_1800");
    colorful.setRGB(0xb5282c);
    myTooltip.showTooltip();
    s_1800.onRollOut = function (){
    myTooltip.hideTooltip();
    When I do a loadMovie script:
    loadMovie("2008_18.swf", 2);
    the movie loads in fine but I can't control the position of it...(or can I)?
    So, I loaded into a container clip:
    createEmptyMovieClip("holder" , "100");
    loadMovie("2008_18.swf" , "holder");
    holder._x = -200;
    holder._y = -200;
    and the tool tips get thrown off (they don't rollover where they should), and the setRGB doesn't work anymore?
    Any thoughts?
    Thanks!!!

    in your loaded swf use:
    this._lockroot=true;
    to solve your color issue.
    for your position issue it's not clear what you're doing to position your tooltips now but if you're referencing _root there too, the above will probably solve that issue, too.

  • Positioning movie clips with AS

    I'm using the following code to position some text clips on
    the stage. But the weird thing is, the clips positions come out
    differently than if I position them manually from within Flash.
    For example, if I set the Y position of a clip to 250 in the
    Properties Inspector, it comes out to be positioned at 250, but if
    I even write in the code textBox._y = 250, it comes out differently
    (about 10 pixels above 250).
    Anyone have any idea what I'm talking about, or what's going
    on here?
    Thanks!
    //space out the text clips
    for ( i=2 ; i<8 ; i++ ){
    textClipName = "text" + i;
    this[textClipName]._y = ((i-1) * 250);
    }

    check the registration point of your movieclip.

  • 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();

  • 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.

  • 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