Цитата:
|
Сообщение от __etc
Это ошибка в организации, раз такие сложности возникают.
|
Это бесспорно ошибка в организации.
И в моей, и во флеше.
Я размышлял так: клип по сути есть отличный автомат, с конечным числом состояний. Которые, главное, удобно просматривать, всего лишь выбирая мышкой нужный кадр.
То есть если есть клип, то им можно выразить любой объект, имеющий состояния.
Дальше - организация как у любого графического интерфейса.
Один кадр клипа - один кусок интерфейса.
Каждый элемент интерфейса, в т.ч. не только кнопки, но и движущиеся элементы, анимации и прочее - постоянно кидают события, в зависимости от того, что произошло.
К мувику приложен файл на AS3. В файле прописано соответствие ловящихся событий и функций, которые выполняет клип.
По-моему логично.
Но нерабоче
Где-то я читал о DisplayLists... Может быть, как-нибудь вручную можно внести объект в DisplayList?
Цитата:
|
Сообщение от chingachgoog
Может оно все гораздо проще, но можно сделать так:
создать самым верхним слоем мувик - т.к. его код будет выполняться самым последним в фрейме, то следовательно, как только код начнет выполняться - значит все до этого уже отрисовано-выполнено.
|
Я сделал так.
Состояния рисую все так же в одном клипе, но по типу одно состояние - один слой. Удобно для редактирования. В то время, как редактирую какое-либо состояние, просто ручками на таймлайне делаю невидимыми все остальные ненужные слои.
Все подконтрольные объекты имеют свои instance-имена.
Дальше делаю массивы с этими объектами, в которые группирую по смыслу. По сути, один слой - один массив.
Массивы регистрируются при старте мувика в приаттаченном скрипте.
Далее есть функции DisplayWindow и HideWindow которые присваивают visible=false нужному массиву.
Таким образом, все еще можно рисовать ручками
Но всё равно обидно. Ищется событие onFrameValidated
