PDA

Просмотр полной версии : JavaScript, Flash и зацикленный MovieClip


EnSonar
14.11.2003, 20:30
Здравствуйте!
Сегодня все утро провозился со след. проблемой. Есть сайт, и есть флэшка. Задача: из сайта посылать команды флэш-ролику нарисовать нужное количество одинаковых вкладок (читай: картинок).

С флэшем общаться умею только через setVariable, а посему механизм я реализовал следующий: на главную сцену во флэше положил мувиклип, состоящий из одного кадра, на который повесил action, который, как мне думается, должен испольняться бесконечно, мне так и нужно:


onClipEvent(enterFrame){
/* здесь _root.barsCount - количество вкладок, необх. для
рисования в данный момент , оно передается в мувик из сайта
через javascript: movieName.setVarialble('barsCount', 1) */

if(_root.barsCount != _root.prevBarsCount){
if(_root.barsCount != _root.prevBarsCount){
// сносим предыдущие вкладки
for(var i = 1; i <= _root.prevBarsCount; i++){
removeMovieClip("passiveBar" + i);
}
_root.prevBarsCount = _root.barsCount;
// рисуем столько barsCount пассивных вкладок
for(var j = 1; j <= _root.barsCount; j++){
var s = eval("passiveBar" + int(j+1));
duplicateMovieClip(_root.passiveBar, s, j + 1);
eval(s)._y = 25*j - 25;
eval(s)._visible = true;
}
}
}
}

Так вот, этот код срабатывает, но очень криво: картинки рисуются не там, где надо, или вообще не рисуются. Но! Если этот код повесить на нажатие кнопочки (button), то все ок!
Подскажите, в чем я не прав?

EnSonar
15.11.2003, 11:27
Сам ламер, короче....
Оказывается, достаточно добавлять к имени movieclip'а приставку _root.

Nox Noctis
15.11.2003, 12:45
надо вообще избегать использовать eval без надобности..
потому как это штука странная и загадочная :))
(а еще - уже бесполезная :) )

проеВал :) (http://www.flasher.ru/forum/showthread.php?s=&threadid=51223&pagenumber=2)