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

**URL:** https://forum.kirupa.com/t/2006-the-supplied-index-please-help/256925
**Category:** flash
**Created:** [April 8, 2008, 9:15pm UTC](https://forum.kirupa.com/t/2006-the-supplied-index-please-help/256925 "2008-04-08T21:15:02Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Dart](https://avatars.discourse-cdn.com/v4/letter/d/7bcc69/32.png) [@Dart](https://forum.kirupa.com/u/Dart)
#### Post date: [April 8, 2008, 9:15pm UTC](https://forum.kirupa.com/t/2006-the-supplied-index-please-help/256925/1 "2008-04-08T21:15:02Z")

</div>

Hello Everybody, 🙂

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 :

```auto

[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 :

```auto

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 :

```auto
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 :

```auto
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 :]
