
Код AS3:
internal function init():void
{
for (var i = 0; i < 20; i++)
{
smile = new Smile();
masSmile.push(smile);
smile.y = i * 10 + 10;
stage.addChild(masSmile[k]);
}
}
addChild работает правильно. Вы в первом цикле делаете push и unshift, дублируя ссылку на новый Smile, поэтому и получаете после цикла с 10 итерациями массив с 20 повторяющимися элементами. А потом в цикле до 20 вставляете эти смайлы и видите только 10, потому, что фактически вы создали их ровно столько же. Нельзя один и тот же клип добавить в потомки сто раз и увидеть сто разных клипов, только один и останется.