Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Потеря интерактивности swf загруженного в swf
Flash Zone Forum > Macromedia Flash > Начинающим
Дож
Простите, но если можете, то ответьте снова на чайниковский вопрос:
Делаю загрузку ролика "rostovw.swf" в мувик - "hom1_mc" в кадре 1 файла "hometravel.swf":
Код
hom1_mc.loadMovie("rostovw.swf");


загружаемый файл ("rostovw.swf") имеет в себе кнопки перехода по кадрам:
код в первом кадре слоя actions
Код
stop();

pv_btn.onPress=function() {
   _root.prevFrame();
};

nt_btn.onPress=function() {
  _root.nextFrame();
};


Так вот, при тестировании и публикации загружаемого файла "rostov.swf" кнопки перехода чудесно работают,
но когlа запускаю файл "hometravel.swf", то в загруженном в него файле "rostov.swf" кнопки перестают действовать, отображается лишь только первый кадр.
Вопрос:
Что не так сделано?
Может в корне не правильный подход.
Flashery
Сто процентов путаница с ключевыми словами - _root, parent
Дож
Цитата(Flashery @ 10.05.2007 - 11:34) *
Сто процентов путаница с ключевыми словами - _root, parent

Почему же загружаемый файл при самостоятельном запуске работает unsure.gif или при его загрузке _root перестаёт работать, _root в таком случае из другого файла будет обращением к линейке файла в который загружен "rostovw.swf"? А parent надо писать непосредственно в кнопку?
Flashery
Да не...там коммутация у тя сложная как я понял!!! просто скажем замени _root на _parent в различных комбинациях и проверь как это будет -- если не прокатит кидай исходник - тока желательно небольшого размера, сам сделаю
Rohan
попробуй заменить _root на this._parent
Дож
Спасибо! Сегодня всё перепробую... rolleyes.gif
Дож
Спасибо, Rohan! Я пытался уже применить this._parent но только самой кнопке, а не кадру. Может кадру нужно? unsure.gif
MustLive
Цитата
Я пытался уже применить this._parent но только самой кнопке, а не кадру. Может кадру нужно?

Дож

В твоём случае в кадре нужно было написать, ты ведь в кадре писал код обработчиков нажатия своих кнопок (см. свой первый пост в этой теме). Вот в этом коде, где ты указываешь обработчики нажатия (pv_btn.onPress и nt_btn.onPress), там и укажи this._parent.

Цитата
Потеря интерактивности swf загруженного в swf

Замечу, Дож, что данная тема периодически поднимается на форуме. Поэтому чтение форума и использование поиска по форуму могут помочь.

С данной проблемой нередко сталкиваются флешеры. Когда флешка отдельно работает нормально, а когда загружаешь её в другую флешку - уже не работает корректно. В этом случае флешеры не могут понять причины и задают по этому поводу вопросы. Как в твоём случае.

А на самом деле всё просто - вся суть в слоях (и путях). Которые при работе в одной флешке имеют одну структуру, а когда её загрузить внутрь другой, то структура слоёв меняется. Поэтому нужно указывать пути с учётом слоёв.

В твоём случае нужно пути указать правильно, о чём тебе уже сказали ребята. И как посоветовал Rohan, вместо _root указать this._parent. Т.е. сменить абсолютную адресацию, на относительную. Тогда флешка у тебя нормально заработает. При желании можешь использовать и абсолютную адресацию, но тогда нужно её задать с учётом работы флешки внутри другой (и тогда эта флешка отдельно работать нормально не будет, а в случае относительной адресации она будет работать и отдельно и внутри другой флешки).
Дож
Цитата(MustLive @ 12.05.2007 - 01:00) *
А на самом деле всё просто - вся суть в слоях (и путях).

Спасибо!!! Действительно. А ещё для информации, может таким как я понадобится:
В мною описанном случае, оказывается всё работает ещё и при условии если в кадре будет _lockroot=true

Спасибо большое всем!!!
Русская версия IP.Board © 2001-2008 IPS, Inc.