sorry if i’m confusing you
i went over the script again and found a lot of things that needed improvements:trout: here’s the final draft (i hope)
grid = {maxx:10, maxy:10, startx:100, starty:100, speed:50};
placeMC = function () {
if (x<grid.maxx || y<grid.maxy) {
x = x<grid.maxx && y<=grid.maxy ? x+1 : 1;
y = y<grid.maxy && x == 1 ? y+1 : y;
_root.attachMovie("myMCID", "myMC"+x+"_"+y, ++d);
_root["myMC"+x+"_"+y]._x = x*_root["myMC"+x+"_"+y]._width+grid.startx;
_root["myMC"+x+"_"+y]._y = y*_root["myMC"+x+"_"+y]._height+grid.starty;
updateAfterEvent();
// trace(x+"_"+y); (for debugging)
}
};
setInterval(placeMC, grid.speed);
first, notice i added an if statement at the beginning of the function, this prevents the ‘myMC’ from being duplicated or in this case attached unnecessarily after the final grid has been finished. without it, the function would keep being called and the myMC would be duplicated after the grid has been finished. also i refined the two beginning if statements(i don’t know what i was on when i did that code) and now they are much simpler (i hope)
i have chosen to use attachMovie instead of duplicate movie so that i would have the ‘master’ MC floating around on stage, instead it’s in the library.
if you want to generate the grid in a new MC called newMC then you would use the following script :
grid = {maxx:10, maxy:10, startx:100, starty:100, speed:50};
placeMC = function () {
if (x<grid.maxx || y<grid.maxy) {
x = x<grid.maxx && y<=grid.maxy ? x+1 : 1;
y = y<grid.maxy && x == 1 ? y+1 : y;
_root.newMC.attachMovie("myMCID", "myMC"+x+"_"+y, ++d);
_root.newMC["myMC"+x+"_"+y]._x = x*_root.newMC["myMC"+x+"_"+y]._width+grid.startx;
_root.newMC["myMC"+x+"_"+y]._y = y*_root.newMC["myMC"+x+"_"+y]._height+grid.starty;
updateAfterEvent();
// trace(x+"_"+y); (for debugging)
}
};
setInterval(placeMC, grid.speed);
notice how the x and y values are given, you have to use "_root.newMC[…]._x’ to assign the value instead of just _root.
finally to answer your question about positioning. Just add two extra variables to the object to specify the startX and startY of the grid and then when assigning the x and y to the grid, just add “+ startx” and “+ starty” (check first script as reference)
well ihope that answers all your questions. if you have any more then just hit me with them:trout: 
-zylum