PDA

Просмотр полной версии : действия в подгруженном swf


iDS
15.03.2002, 12:19
здрасте, подскажите плиз...
у меня в сцене есть пустой мувик... themanMC
в который по событиям в менюхе подгружаются
внешние мувики
функция подгружает в заданный таргет мувье:


function _go(where){
if (where == "home") loadAndPlayMovie("theman.swf", _root.themanMC, 0, 0);
else if (where == "menuitem1") loadAndPlayMovie("tetka.swf", _root.themanMC, 0, 125);
. . .
}


т.е. в менюхе идет вызов
_root._go("menuitem1");

так вот, я пытаюсь внутри мувика tetka.swf налепить
on(realese) _root.go("home");

но оно не черта не пашет...
т.е. мувики по нажатию на менюху подгружаются..
а по нажатию на этот мувик ничего не происходит :(
что не так?

Hirn
15.03.2002, 12:43
>так вот, я пытаюсь внутри мувика tetka.swf налепить
>on(realese) _root.go("home");

lepi on(realese) this._visible=0;

a w
function _go(where){
...
_root.themanMC._visible = 1;
}

iDS
15.03.2002, 13:14
неее... не помогает...
дело в том что
this._visible=0; - прячет тетку, но не помгает подгружать на ее место другой swf
а _root.themanMC._visible = 1; - не имеет значение на сколько я понимаю, потому как этот мувик (themanMC) пуст swf-ки подгружаются в него, но сам он пуст.

а функция подгрузки выглядит так:
function loadAndPlayMovie (movieName, targetName, targetX, targetY) {
unloadMovieNum(targetName);
targetName._visible = false;
targetName._x = targetX;
targetName._y = targetY;
loadMovie (movieName, targetName);
targetName._visible = false;
}

она работает для менюшки но не работает для загруженных swf-ок
может быть что-то не так с путями...
никак не могу понять :(

RDA
15.03.2002, 13:30
попробуй написать: on(release )
;) :p :D

iDS
15.03.2002, 13:44
да нет уважаемый, не в этом проблема,
это я в форуме неправильно release написал...
я может быть и дурак во флэше, но не настолько...

RFMitrio
15.03.2002, 16:30
А почему unloadMovieNum??? надо unloadMovie, ты же ему таргет задаешь, а не левел. И все заработает.

lucker
15.03.2002, 17:36
вместо
_root._go("кудан-ить")
пиши
_level0._go("туда же")

iDS
15.03.2002, 17:50
по поводу unloadMovie и unloadMovieNum
спасибо.. это дейтсвительно неверно, но не заработало,
а вот после того как я сменил _root на _level0 заработало!
Но я не понял в чем тут дело.
Ведь мне казалось, что это синонимы _root и _level0 и означают одно и тоже.
просвяти меня плиз, а ?

iDS
15.03.2002, 18:07
млин.. доперло...
_level0 этож базовый , т.е. текущий....
а _root это корень....
понятно ...
всем спасибо!

lucker
15.03.2002, 18:14
level0 - корень всех корней. А _root - корень мувика, в котором проигрывается скрипт с вызовом _root.

iDS
15.03.2002, 18:58
Господа, спасибо всем за ответы!
Но у меня появилась новая проблемка: :rolleyes:
в режиме дебагера в аутпут сыпяться ошибки о том что нет такого файла (внешние мувики)
опытном путем, установил, что ошибки возникают в моей функции - loadAndPlayMovie,
на команде unloadMovie(targetName);
видимо при инициализации функция пытается выгрузить мувик, который незагружен...
вопрос: можно ли предварительно узнать загружен ли мувик в данном таргете,
перед загрузкой туда нового?
насколько я понял это команда нужна для очистки памяти используемой плеером,
или все таки об этом не надо беспокоится?
заранее спасибо.

RFMitrio
15.03.2002, 23:25
Вообще не надо деалать анлоудМуви. Дело в том, что когда ты загружаешь мувик А в мувик Б, мувик Б полностью(!!!) заменяется на мувик А. И все, что было там до этого исчезнет.
---
Кстати, на твой вопрос я именно так хотел ответить - заменить _root на _level0. НО: решил проверить. Естественно, во Флэше МХ. И там у меня почему-то получилось, что рут иерархии мувиков - это рут самого верхнего мувика, т. е. _level0 и _root совпали. Не знаю, думаю это глюк, но странно.