PDA

Просмотр полной версии : gotoAndPlay в программно созданом клипе.


El Scream
17.11.2006, 18:07
Суть
Программно создаю множество пустых клипов.
Аттачу туда клип из библиотеки.
В клипе на первом кадре stop();

Проблемма
Сам клип (наманер _root.Field["object"+i] ) flash видит, а вот
Начать воспроизведение со второго кадра не хочет.

Просьба
Объяснить почему?
Как это обойти?

iNils
17.11.2006, 18:17
Ты делаешь аттач, а следующей строкой пытаешься начать его проигрывание со второго кадра?

El Scream
17.11.2006, 19:47
да, но почему то клип не проигрывается. При этом если убрать stop(); с первого кадра то клип проигрывается

iNils
17.11.2006, 19:54
Сначала срабатывает код мувиков родителей, а потом уже встроенных. Поэтому gotoAndPlay сработает раньше, чем stop. Если перед каждой операцией поставить trace с уникальным значением, то можно легко будет убедиться в этом посмотрев последовательность. В качесвте выхода, можно передавать в клип флаг и в зависимости от его значение, делать stop или нет, тогда gotoAndPlay не потребуется.

El Scream
17.11.2006, 20:00
Да, кстати есть такое. флеш последоватеьно выполняет код на странице после чего переходит на другую((.

А как организовать предложенный вариант?

такой вариант что то непрокатывает


var t:MovieClip=_root.attachmovieClip....
t.flag=false;



а в клипе на первой странице

if (this.flag==false) {
stop();
};

iNils
17.11.2006, 20:03
var t:MovieClip=_root.attachmovieClip.... {flag:false})

El Scream
17.11.2006, 20:09
да.
Вот теперь сработало.
Спасибо.

pkfun
17.11.2006, 20:38
var mn:MovieClip = this;
var mc_mn:MovieClip = mn.attachMovie('mc', 'mc', mn.getNextHighestDepth(), {_x:60, _y:40});
mc_mn.stop();
mc_mn.gotoAndPlay(2);

А еще можно его останавливать "снаружи". :)