Показать сообщение отдельно
Старый 04.03.2010, 10:44
Альбина1983 вне форума Посмотреть профиль Отправить личное сообщение для Альбина1983 Найти все сообщения от Альбина1983
  № 1  
Ответить с цитированием
Альбина1983

Регистрация: Mar 2010
Сообщений: 8
По умолчанию Дублирование movieclip при использовании setChildIndex.

Сделала небольшую открыточку.
Состоит из 5 объектов - movieclip (mc1, mc2, ... mc5), которые расположены в основной сцене. Во всех mc в первом кадре стоит stop().
Вызываю в первом кадре основной сцены
Код AS3:
var i:Number = Math.random();
В зависимости от значения i запускаю анимацию того или иного mc.
Например
Код AS3:
mc1.gotoAndPlay(2).
Дополнительно надо чтобы он был на переднем плане, почитала и сделала так:
Код AS3:
this.setChildIndex(mc1, this.numChildren - 1);
Т.е. проигрывается анимация случайного клипа на переднем плане и так в цикле.
И все работает, уже обрадовалась самой себе, но... заметила, что если открытка работает больше 5-10 минут начинает ужасно тормозить, провела несколько экспериментов и обнаружила, что при вызове setChildIndex создается дополнительный объект. (Использовала setChildIndex и дополнительно смещала клип, причем mc1.gotoAndPlay(2) запускает только один, тот который передвинулся, а все его копии неподвижны). Т.е. при каждом вызове this.setChildIndex(mc1, this.numChildren - 1) увеличивается this.numChildren на единицу.
Пыталась удалять их через removeChildAt(this.numChildren - 1); но ничего не помогает.
Мальчики помогите пожалуйста, что я делаю не так?
Может быть есть другой способ вытаскивать объекты на передний план???
Мне так хочется сделать открытку!!!! Я уже почти плачу. :'(

P.S. flash cs4. as3.

Добавлено через 3 часа 27 минут
Неужели никто девушке не поможет в канун праздника???


Последний раз редактировалось iNils; 04.03.2010 в 16:25.