PDA

Просмотр полной версии : Как наиболее правильно менять две интерактивные сцены?


TryToBeASuperStar
27.11.2005, 19:30
Привет,


такая задача...

Есть 2 сцены. Обе сцены шибко интерактивные (у каждой сцены свой фон, у каждой свои подгружаемые данные, у каждой куча своих интерактивно создаваемых кнопок в корне сцены по списку из txt файла). Объединяет эти сцены только расположение - они должны быть на сайте в точно одном месте, и суть - это две стороны одного вопроса, возникшего у посетителя... повсему этому, я хочу, чтобы для перехода от одной сцены к другой человеку не приходилось обновлять html страницу и вообще переход осуществлялся как можно быстрее...

Попробовал сделать отдельный файл mcall.swf который занимая 2Кб подгружает внутрь себя mc1.swf и mc2.swf в mc1 и mc2 соответственно... Оба swf подгрузились, но вот вся интерактивность их пропала :( тоесть данные не закачиваются, кнопки не появляются, списки не верстаются и т.д... только фон...

Если же грузить в root - интерактивность сохраняется, но мне непонятно как быть со всеми элементами - как их быстро скрыть и отрисовать элементы другой сцены?


Как правильно сделать?

KUZEN
27.11.2005, 19:33
В подгружаемых пишем _lockroot = true;

TryToBeASuperStar
27.11.2005, 19:39
Безтолку... FlashMX вообще не распознаёт параметр "_lockroot"

Antares
27.11.2005, 19:43
Это не Flash MX не распознает, это 6 плеер не распознает.
Значит либо уходить в другой кадр, рисуя там, либо (если надо сохранить лейаут, допустим) написать функцию, которой передаются два списка -- что скрывать и что отображать. Можно также список нужных транзиженов передавать.

TryToBeASuperStar
27.11.2005, 19:51
setProperty(mc1, _visible, false); / setProperty(mc2, _visible, true); ?

Как при этом поведут себя свежесозданные интерактивные кнопки ?

Antares
27.11.2005, 19:54
Не понял сути вопроса. Вне зависимости от свежесозданности мувиклипы mc1 и mc2, если они существуют на Сцене в момент исполнения кода, буту скрыты/показаны, соответственно. Если разрешения соответствующие есть (кросс-доменная загрузка данных, т.п.)

А с чего вдруг такие сложности со старым синтаксисом?

TryToBeASuperStar
27.11.2005, 19:58
Кнопки во flash очень наглые - всё время выскакивают наверх ;)

Я спрашивал - после visible=false кнопки скрытые не будут выскакивать перебивать кнопки показываемые?

Antares
27.11.2005, 20:03
Не будут.
Вообще это называется "непроникание событий". Легко обходится.

MOHCTEP
27.11.2005, 21:32
А чего просто в 2 кадрах не раместить?

TryToBeASuperStar
28.11.2005, 02:29
Фигня в том, чот кнопки динамически создаются каждый раз при загрузке сцены - значит при переключении кадров каждый раз будут заново создаваться все итерактивные объекты... это как-то непрально

Antares
28.11.2005, 02:32
Добавь флаги и создаваться будет то, что захочешь

TryToBeASuperStar
28.11.2005, 02:54
можно поподробнее, плиз

Antares
28.11.2005, 02:58
Во втором кадре

if(!isInit) createButtons();

TryToBeASuperStar
28.11.2005, 03:20
Типа загрузили кадр 1, там отстроили сцену 1, по кнопке переходим на кадр 2, отстраиваем сцену 2... затем переходим обратно к сцене 1 - к кадру 1... и ничего не отстраивая там уже всё есть?!?! Вроде как по логике там должно быть пусто... это же типа муви... :-/

Antares
28.11.2005, 04:11
Кто сказал, что там должно быть пусто?

TryToBeASuperStar
28.11.2005, 11:23
Flash = Ничего не понимаю! (с)

Antares
28.11.2005, 12:13
:) ладно, если успею, сделаю пример сегодня

TryToBeASuperStar
28.11.2005, 17:13
Буду очень благодарен!

TryToBeASuperStar
29.11.2005, 13:18
Сделал всё в одном кадре root - mc1 и mc2 в каждом из которых работает своя сцена. Смена происходит показом/скрыванием visible=true/false. Всё ок, кроме одного момента:
Раньше все координаты интерактивно создаваемых объектов были для root, теперь все объекты плавно переехали право-вниз. Есть функция изменяющая место 0 в муви? Или придёться пересчитывать и переписывать все координаты в txt?



Ещё пара примитивных вопросов:
1. Как проверить существует ли нужный для подгрузки файл?
2. Можно ли узнать файл (swf/jpg) с каким именем подгружен в данный муви?

MOHCTEP
29.11.2005, 15:52
У мувов 0 по центру. В руте - лево-верх. Можно передвигать mc1 mc2 или пользовать метод mc.localToGlobal(), mc.globalToLocal().

TryToBeASuperStar
29.11.2005, 16:09
Именно об этом я и спрашивал.... только можно на примере, а то непонятно к чему применять этот метод... в скобках писать координаты, а mc=parent? иил как ваще?

MOHCTEP
29.11.2005, 18:33
В хелпе все описано

TryToBeASuperStar
29.11.2005, 22:32
Ну давай ка посмотрим, что там у нас в хелпе....

раздел "globalToLocal method" - Help\Flash\html\13_movieclips6.html - нихрена нет по поводу голбалтулокал

раздел "localToGlobal method" - Help\Flash\html\13_movieclips6.html - нихрена нет по поводу локалтуглобал

Чё ещё посмотреть?


Может снизойдёшь до 1 строки кода примера.... ???????????????????

Nirth
30.11.2005, 01:15
цирк закрыт, концерт уехал.
причины:
нахальство.

Если вам так нужен готовый вариант, закажите его в разделе вакансии, довольно попрашайничать, это серьезный форум для серьезных специалистов.

ТрайТуРидМануал