![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 130
|
Цитата:
То, что кадры используются для анимации я понимаю, анимация таким образом и создается. Но я не понимаю смешения с программированием. Например, muvieclip, button. Содержат код, но при этом еще и обладают таймлайном - набором "кадров", которые непонятно как воспринимать с чисто программистской точки зрения. |
|
|||||
|
Modus ponens
|
Кадры - это исторически часть SWF формата, кроме анимации они позволяют загружать клипы порциями. Так опять же исторически сложилось, что код записывается "в кадр", т.е. потенциально в SWF может быть столько же или больше блоков кода, сколько и кадров. Кадр может быть без кода, а код должен быть в каком-то кадре.
С другой стороны, этой структурой не всегда удобно управлять (иземнять содержимое кадра - значит изменять содержание самой программы, чего флеш не умеет). Кроме того, нет штатных инструментов для програмного создания или изменения кадров. На счет addChild - не уверен. Т.как addedToStage например при этом не вызывается. На сколько я себе это представляю в SWF формате есть какая-то специальная запись для того чтобы символ был сразу при создании добавлен в список отображения. Но результат боллее-менее похож. Точно описать механизм работы кадров я не берусь, единственное, что точно знаю, для ключевых кадров создаются фукнции типа frame#() где # номер кадра, и эти функции вызываются когда нужно кадр отобразить.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 130
|
То есть если я пишу программу, а не баннер или игрушку, мне все равно придется пользоваться кадрами? Или достаточно к fla файлу в свойствах прикрутить as-класс с main-кодом, в котором и писать addChild(), не парясь о кадрах?
|
|
|||||
|
Modus ponens
|
Нет, это такая структура SWF формата, точно так же, как например в HTML есть <body> или <head>, куда потом можно добавить скрипты, в SWF есть кадры, куда скрипты добавляются.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 130
|
Немного понятнее. Для полного закрепления лучше на примере.
Например, кнопка. У нее таймлайн из трех кадров: не нажата, курсор не наведен -курсор наведен, не нажата - нажата. Получается, во флеше такое можно реализовать 2мя способами: 1. привычный для программиста, основан на изменении свойств объекта в ответ на определенное событие (нажата,отжата и т.д) 2. Рисование в каждом кадре соответствующего состояния. Программирования не вижу. Флеш автоматически преобразует такой анимационный подход в код as? |
|
|||||
|
Modus ponens
|
Нет, не преобразует в код AS. AS это все-таки скриптовый язык, он может давать команды виртуальной машине, но виртуальная машина может иметь и дополнительный функционал. Проигрывание анимации как раз и будет дополнительным функционалом. Можно попытаться свести до минимума использование "не программных" методов - самому управлять списком отображения, а можно полагаться на "встроенные" механизмы.
Это похоже, на, например, взаимодействие PHP и Apache. Вы можете Apache настроить так, чтобы он сам отдавал определенные файлы с нужными заголовками, а можете все те же файлы отдавать с помощью PHP. И то и другое может быть удобно в конкретной ситуации.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 130
|
То есть флеш поддерживает 2 механики работы: реализацию событий кнопки можно запрограммировать кодом, а можно "анимационную"?
О чьем списке отображения вы говорите? Я знаю пока, что он есть у stage, movieclip, button. Вы о stage? |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|