PDA

Просмотр полной версии : Action Script в Action Script не работает


MikaDog
03.12.2009, 21:50
есть прелодер и есть ролик, ролик загрузила в прелодер скриптом, все работает, но ролик в конце не зацикливается, а играет заново,

прелодер:

Код:

if (_root.getBytesTotal() != _root.getBytesLoaded()){

gotoAndPlay(1);

}

bar_mc._xscale=(_root.getBytesLoaded()/_root.getBytesTotal())*100;

loader_txt.text=Math.round((_root.getBytesLoaded()/_root.getBytesTotal())*100)+"%";
if (_root.getBytesTotal() != _root.getBytesLoaded()){

gotoAndPlay(1);

}
bar_mc._xscale=(_root.getBytesLoaded()/_root.getBytesTotal())*100;
loader_txt.text=Math.round((_root.getBytesLoaded()/_root.getBytesTotal())*100)+"%";




а это код для загрузки ролика, по-идее ролик должен в конце зацикливаться,(т.к. в конце стоит gotoAndPlay), а он проигрывается заново:
Код:

stop();

var mc:MovieClip = _root.createEmptyMovieClip("mc",_root.getNextHighestDepth());
var ldr:MovieClipLoader = new MovieClipLoader();
{
target._width /= 2;
target._height /= 2;
target._x += 100;
target._y += 150;
target._rotation -= 0;
}
ldr.loadClip("kuler.swf",_root.mc);

stop();


скажите, что надо подправить?

BaranovYuriy
04.12.2009, 22:25
сложно точно понять, что же происходит.. но возможно во втором ролике стоит
_root.gotoAndPlay(n)
соответственно, рут и переходит на нужный кадр. Если кадров в руте меньше, чем n, то остается на последнем. Соответственно, скрипт с gotoAndPlay прошел, ролик начинается сначала..

попробуйте в подгружаемом SWF на первом кадре прописать _lockroot=true. Тогда при загрузке в MC рутом будет не реальный рут, а локальный рут подгружаемого клипа.

MikaDog
05.12.2009, 22:46
кадров хватает, в swf ролике все нормально - конец зацилен, это только после загрузки в плоадер....

AlexCooper
06.12.2009, 15:16
delete preloaderFunction;

Добавлено через 35 секунд
понятно что после окончания его функционирования.

MikaDog
06.12.2009, 20:32
это тоже не помогло=(

udaaff
06.12.2009, 21:28
Выкладывайте исходники с примером, иначе ни черта не понятно.