# Problem targetting nested movieclips

**URL:** <https://forum.kirupa.com/t/problem-targetting-nested-movieclips/258017>\
**Category:** Uncategorized\
**Created:** [April 19, 2008, 6:03pm UTC](https://forum.kirupa.com/t/problem-targetting-nested-movieclips/258017 "2008-04-19T18:03:30Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jansensan](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/jansensan/32/3362_2.png) [@jansensan](https://forum.kirupa.com/u/jansensan)\
**Post date:** [April 19, 2008, 6:03pm UTC](https://forum.kirupa.com/t/problem-targetting-nested-movieclips/258017/1 "2008-04-19T18:03:30Z")

</div>

hello resourceful forum,

im facing an issue and i dont know what to do. i have a class that extends movieclip (i called it container in the attached files). in that movieclip, i have many frames, each frame containing a different movieclip with its own quantity of frames.

what i plan is to loop thru the quantity of frames of the container class and then add an instance of container on stage per frame (its based on the principle of tiling). then, each instance would display a different frame.

the issue is that i can only target the movieclip on container’s stage during the first frame, then i get a null reference.

what should i look into?

Main class:

```auto
package {
    
    // imports
    import flash.display.MovieClip;
    
    
    // class definition
    public class Main extends MovieClip {
        
        // variables
        var _containerMovieClipsNames :Array;
        var _containerContentFrames :Array;
        
        
        // constructor
        public function Main () {
            
            _containerMovieClipsNames = ["MovieClipA", "MovieClipB"]
            _containerContentFrames = ["A3", "B2"];
            
            var container:Container;
            var containerX:int = 32;
            var containerY:int = 32;
            
            for (var i:int = 0; i < _containerContentFrames.length; i++) {
                
                container = new Container ();
                container.x = containerX;
                container.y = containerY;
                container.gotoAndStop (i + 1);
                /*
                container.getMovieClipOnStageByName (_containerMovieClipsNames*);
                container.getMovieClipOnStageByIndex (i);
                container.setMovieClipFrame (_containerContentFrames*);
                
                trace (container);
                trace (container.x);
                trace (container.y);
                trace (container.getChildAt (0));
                */
                addChild (container);
                
                containerX += 64;
                
            }
            
        }
        
        
    }
    
}

```

Container Class:

```auto
package {
    
    // imports
    import flash.display.MovieClip;
    
    
    // class definition
    public class Container extends MovieClip {
        
        // variables
        var _movieClip:MovieClip;
        
        
        // constructor
        public function Container () {
            
            stop ();
            
        }
        
        
        // events
        
        
        // functions
        public function getMovieClipOnStageByName (movieClipName:String):void {
            
            trace ("--- getMovieClipOnStageByName ---");
            trace ("movieClipName: " + movieClipName);
            
            _movieClip = MovieClip (getChildByName (movieClipName));
            
            trace ("_movieClip: " + _movieClip);
            trace ("_movieClip.totalFrames: " + _movieClip.totalFrames);
            
            //_movieClip.stop ();
            
        }
        
        
        public function getMovieClipOnStageByIndex (movieClipIndex:int):void {
            
            trace ("--- getMovieClipOnStageByIndex ---");
            trace ("movieClipIndex: " + movieClipIndex);
            
            _movieClip = MovieClip (getChildAt (movieClipIndex));
            
            trace ("_movieClip: " + _movieClip);
            trace ("_movieClip.totalFrames: " + _movieClip.totalFrames);
            
            //_movieClip.stop ();
            
        }
        
        
        public function setMovieClipFrame (frameName:String):void {
            
            trace ("--- setMovieClipFrame ---");
            trace ("frameName: " + frameName);
            
            //trace ("_movieClip.currentFrame: " + _movieClip.currentFrame);
            
            //_movieClip.gotoAndStop (frameName);
            
            //trace ("_movieClip.currentFrame: " + _movieClip.currentFrame);
            
        }
        
    }
    
}

```
