![]() |
Как наиболее правильно менять две интерактивные сцены?
Привет,
такая задача... Есть 2 сцены. Обе сцены шибко интерактивные (у каждой сцены свой фон, у каждой свои подгружаемые данные, у каждой куча своих интерактивно создаваемых кнопок в корне сцены по списку из txt файла). Объединяет эти сцены только расположение - они должны быть на сайте в точно одном месте, и суть - это две стороны одного вопроса, возникшего у посетителя... повсему этому, я хочу, чтобы для перехода от одной сцены к другой человеку не приходилось обновлять html страницу и вообще переход осуществлялся как можно быстрее... Попробовал сделать отдельный файл mcall.swf который занимая 2Кб подгружает внутрь себя mc1.swf и mc2.swf в mc1 и mc2 соответственно... Оба swf подгрузились, но вот вся интерактивность их пропала :( тоесть данные не закачиваются, кнопки не появляются, списки не верстаются и т.д... только фон... Если же грузить в root - интерактивность сохраняется, но мне непонятно как быть со всеми элементами - как их быстро скрыть и отрисовать элементы другой сцены? Как правильно сделать? |
В подгружаемых пишем _lockroot = true;
|
Безтолку... FlashMX вообще не распознаёт параметр "_lockroot"
|
Это не Flash MX не распознает, это 6 плеер не распознает.
Значит либо уходить в другой кадр, рисуя там, либо (если надо сохранить лейаут, допустим) написать функцию, которой передаются два списка -- что скрывать и что отображать. Можно также список нужных транзиженов передавать. |
setProperty(mc1, _visible, false); / setProperty(mc2, _visible, true); ?
Как при этом поведут себя свежесозданные интерактивные кнопки ? |
Не понял сути вопроса. Вне зависимости от свежесозданности мувиклипы mc1 и mc2, если они существуют на Сцене в момент исполнения кода, буту скрыты/показаны, соответственно. Если разрешения соответствующие есть (кросс-доменная загрузка данных, т.п.)
А с чего вдруг такие сложности со старым синтаксисом? |
Кнопки во flash очень наглые - всё время выскакивают наверх ;)
Я спрашивал - после visible=false кнопки скрытые не будут выскакивать перебивать кнопки показываемые? |
Не будут.
Вообще это называется "непроникание событий". Легко обходится. |
А чего просто в 2 кадрах не раместить?
|
Фигня в том, чот кнопки динамически создаются каждый раз при загрузке сцены - значит при переключении кадров каждый раз будут заново создаваться все итерактивные объекты... это как-то непрально
|
Добавь флаги и создаваться будет то, что захочешь
|
можно поподробнее, плиз
|
Во втором кадре
Код:
if(!isInit) createButtons(); |
Типа загрузили кадр 1, там отстроили сцену 1, по кнопке переходим на кадр 2, отстраиваем сцену 2... затем переходим обратно к сцене 1 - к кадру 1... и ничего не отстраивая там уже всё есть?!?! Вроде как по логике там должно быть пусто... это же типа муви... :-/
|
Кто сказал, что там должно быть пусто?
|
Flash = Ничего не понимаю! (с)
|
:) ладно, если успею, сделаю пример сегодня
|
Буду очень благодарен!
|
Сделал всё в одном кадре root - mc1 и mc2 в каждом из которых работает своя сцена. Смена происходит показом/скрыванием visible=true/false. Всё ок, кроме одного момента:
Раньше все координаты интерактивно создаваемых объектов были для root, теперь все объекты плавно переехали право-вниз. Есть функция изменяющая место 0 в муви? Или придёться пересчитывать и переписывать все координаты в txt? Ещё пара примитивных вопросов: 1. Как проверить существует ли нужный для подгрузки файл? 2. Можно ли узнать файл (swf/jpg) с каким именем подгружен в данный муви? |
У мувов 0 по центру. В руте - лево-верх. Можно передвигать mc1 mc2 или пользовать метод mc.localToGlobal(), mc.globalToLocal().
|
Именно об этом я и спрашивал.... только можно на примере, а то непонятно к чему применять этот метод... в скобках писать координаты, а mc=parent? иил как ваще?
|
В хелпе все описано
|
Ну давай ка посмотрим, что там у нас в хелпе....
раздел "globalToLocal method" - Help\Flash\html\13_movieclips6.html - нихрена нет по поводу голбалтулокал раздел "localToGlobal method" - Help\Flash\html\13_movieclips6.html - нихрена нет по поводу локалтуглобал Чё ещё посмотреть? Может снизойдёшь до 1 строки кода примера.... ??????????????????? |
цирк закрыт, концерт уехал.
причины: нахальство. Если вам так нужен готовый вариант, закажите его в разделе вакансии, довольно попрашайничать, это серьезный форум для серьезных специалистов. ТрайТуРидМануал |
| Часовой пояс GMT +4, время: 16:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.