#2006 - The supplied index... Please help :)

Hello Everybody, :slight_smile:

I would be very happy if you could help me, i have problem with method setChildIndex, it throws me the Error #2006 : The supplied index is out of bounds.
at flash.display:DisplayObjectContainer/setChildIndex()
at Logic/set_ChildIndex()
at Statue/setLevel()
at Isometric_game_fla::MainTimeline/statues()
at Isometric_game_fla::MainTimeline/Isometric_game_fla::frame1()
But it throws this error only when i create containers where i want store these MovieClips. Please take a look :


[COLOR=Red]**var container2:MovieClip = new MovieClip();
var container:Sprite = new Sprite();
addChild(container);
addChild(container2);**[/COLOR]
var level:Array;
var grid:Title;
var num:int;
for(var j = 0; j < 8; j++){
    for(var i = 1; i < 9; i++){
        var midarray:Array = new Array(Title.title_width*i+j*Title.title_width,Title.title_height*i-j*Title.title_height);
        Title.axis_map.push(midarray);
        num = i+j*8;
        /*trace(grid.getPosition);*/
        grid = new Title(Title.axis_map[num-1][0],Title.axis_map[num-1][1]);
        grid.setPosition(num);
        [COLOR=Red]**container.**[/COLOR]addChild(grid);
    }
}
addChild(grid);
grid.createLevelArray();
var Statues:Statue;
statues();


function statues(){
for (var k:int = 0; k < 8; k++) {

                Statues = new Statue();
                [COLOR=Red]**container2.**[/COLOR]addChild (Statues);
                Statues.setPosition(64-k);
                Statues.setLevel();
                Statues.x = Title.axis_map[Title.axis_map.length-1-k][0];
                Statues.y = Title.axis_map[Title.axis_map.length-1-k][1];
                Statues.gotoAndStop(Math.round(Math.random()*6+6));

            }
for (k = 0; k < 8; k++) {

                Statues = new Statue();
                [COLOR=Red]**container2.**[/COLOR]addChild (Statues);
                Statues.setPosition(k+1);
                Statues.setLevel();
                Statues.x = Title.axis_map[k][0];
                Statues.y = Title.axis_map[k][1];
                Statues.gotoAndStop(Math.round(Math.random()*6+6));

            }
}

there is Title.as :


var container2:MovieClip = new MovieClip();
var container:Sprite = new Sprite();
addChild(container);
addChild(container2);
var level:Array;
var grid:Title;
var num:int;
for(var j = 0; j < 8; j++){
    for(var i = 1; i < 9; i++){
        var midarray:Array = new Array(Title.title_width*i+j*Title.title_width,Title.title_height*i-j*Title.title_height);
        Title.axis_map.push(midarray);
        num = i+j*8;
        /*trace(grid.getPosition);*/
        grid = new Title(Title.axis_map[num-1][0],Title.axis_map[num-1][1]);
        grid.setPosition(num);
        container.addChild(grid);
    }
}
addChild(grid);
grid.createLevelArray();
var Statues:Statue;
statues();


function statues(){
for (var k:int = 0; k < 8; k++) {

                Statues = new Statue();
                container2.addChild (Statues);
                Statues.setPosition(64-k);
                Statues.setLevel();
                Statues.x = Title.axis_map[Title.axis_map.length-1-k][0];
                Statues.y = Title.axis_map[Title.axis_map.length-1-k][1];
                Statues.gotoAndStop(Math.round(Math.random()*6+6));

            }
for (k = 0; k < 8; k++) {

                Statues = new Statue();
                container2.addChild (Statues);
                Statues.setPosition(k+1);
                Statues.setLevel();
                Statues.x = Title.axis_map[k][0];
                Statues.y = Title.axis_map[k][1];
                Statues.gotoAndStop(Math.round(Math.random()*6+6));

            }
}

a Statue.as :

package {
    import flash.display.MovieClip;
    public class Statue extends MovieClip {
        private var _position:uint;
        private var logic:Logic = new Logic();
        public static const STATUE_CLICKED = "statue_clicked";

        public function Statue () {
        }
        public function setPosition(number:uint):void {
            this._position = number;
        }
        public function getPosition():uint{
            return this._position;
        }
        public function setLevel(){
            /*trace(Title.level_array);
            trace(this);*/
            trace(Title.level_array.length);
            logic.set_ChildIndex(Title.level_array,this,_position);
        }
        
    }
}

and Logic.as :

package {

    import flash.events.EventDispatcher;
    import flash.display.MovieClip;
    
    public class Logic extends EventDispatcher {

        public function Logic() {

        }
        public function set_ChildIndex(coordinates:Array,target:MovieClip,i:uint):void {
            
            target.parent.setChildIndex(target,coordinates[i-1]);
        }
    }
}

if i put there target.parent.parent it dosent work as well.
Thank you for your time :]