![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2011
Сообщений: 524
|
к примеру - если пишется на флэш не просто код - а панель инструментов - где есть кнопки или списки - в общем из компонентов(contl+f7) - то получается часть работы - это по сути создание визуального интерфейса - на отельном movie clip - получается отдельный хороший и компактный класс в библиотеке. А КОД к нему - можно как то тоже компактно оформить в виде класса? если да - то как. Надо же из кода обращатся именно к компонентам в этой библиотеке.
Только писать код в кадрах? или еще как то можно? |
|
|||||
|
Есть два варианта:
а) собираете все компоненты в библиотеке, линкуете их для ActionScript, затем в документ-классе создаете их экземпляры, размещаете на сцене и дальше управляете, б) даете символам на сцене имена (instance name), в документ-классе обращаетесь к нем по именам (должен быть установлен флажок "Automatically declare stage instances" в настройках "Advanced ActionScript 3.0 Settings", синтаксис обращения к символу примерно такой: mainClass.someSimbol, а внутри класса просто обращаетесь к символу по его имени, как если бы вы объявили пер-ную с этим именем в классе. Документ-класс - это класс закрепленный за фла файлом. Для его объявления надо создать файл .as (можно там же где фла) и объявить его документ-классом, можно там же - в "Advanced ActionScript 3.0 Settings", или на вкладке properties окна разработки. Последний раз редактировалось fish_r; 14.12.2011 в 20:02. |
|
|||||
|
Регистрация: Sep 2011
Сообщений: 524
|
то есть первый вариант это по сути- спроектировать визуальный вид в библиотеки - а потом из обычного внешнего класса создать его и дальше работать. так?
|
|
|||||
|
Регистрация: Sep 2010
Сообщений: 47
|
fish_r, не совсем внятное объяснение, имхо. Непонятно, зачем нужно использовать документ-класс, если можно (возможно даже лучше) обойтись обычным классом, и зачем располагать компоненты на сцене, если автор явно указал, что располагает их в отдельном клипе.
Цитата:
Получается ваш компонент разделяется на 2 класса - класс представления и класс логики(компонента). Класс логики создает класс представления и управляет элементами. Класс представления в свою очередь, располагает эти элементы(кнопки, списки и т.д) и предоставляет прямой доступ к ним. А в варианте б класс логики линкуется к представлению (мувиклипу) на этапе компиляции и в итоге получается компонент как единое целое. |
|
|||||
|
Внятно объяснить - слишком много писанины получится. Лучше топикстартер задаст вопросы уточняющего
характера, если будет что то не понятно, на которые можно потом ответить. Цитата:
Или вложенный объект в контейнер лежащий на сцене уже не на сцене будет находится? Пример с документ-классом сейчас очевиднее и проще, не надо лезть в дебри. Цитата:
|
|
|||||
|
Регистрация: Sep 2011
Сообщений: 524
|
а можно поподобнее вариант а немного не понял.
|
|
|||||
|
Цитата:
@Flashrunner прав, это скорее к варианту "б". Речь идет о двух разных подходах к получению ссылок на объекты в классе. Т.е. когда виз.объект, например кнопка, лежит в библиотеке вы создаете её экземпляр из класса, и в этом случае сами добавляете на сцену, позиционируете и т.д., а когда она находится на сцене, то вы уже имеете её экземпляр и просто обращаетесь к нему по его имени, причем этот экземпляр уже имеет тот вид и расположен так как вам нужно... Добавлено через 6 минут Посмотрите этот ролик, даже если с инглишом проблема всё равно уже будет понятней. |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 47
|
fish_r, вы похоже, невнимательно прочитали вопрос в первом посте. viktorami создал составной компонент из мелких и пытается написать к нему код, но не знает где его разместить. Вы же говорите ему расположить компоненты на сцене и написать к ним код в документ-классе. А что если он захочет создать еще один составной компонент? Ему его тоже нужно раскидать по сцене и написать код в документ классе? Человек, можно сказать, сам встал на путь истинный, а вы его с него сбиваете
![]() И ни в какие дебри я не залезал, я лишь чуть подробнее описал то, что сказал сам топикстартер. |
|
|||||
|
Я как раз внимательно прочитал: человек пытается уйти, просто, от кода в кадрах, и перейти к коду в классах. Поэтому я и пытаюсь как можно проще это объяснить. Имеет смысл идти от простого к сложному.
Иначе легко запутаться. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|