![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2013
Сообщений: 1
|
Работаю в Adobe Flash Profesional CS5.5, не в кадрах, в классах. Создал проект в формате .fla, в .as-файле (Main.as) написал код AS3. Хочу разбить код на несколько as-файлов. Вопрос в том, как это сделать? Что должно остаться в файле Main.as, что следует переносить в другие as-файлы, а главное как обеспечить взаимодействие всех этих файлов так, чтобы код работал (хочу понять принцип, было бы здоров посмотреть примеры кода в разных as-файлах какого-нибудь простенького проекта)?
Только начал писать в классах, потому кое-что не понятно. Заранее спасибо тем, кто не останется равнодушным и поучаствует в теме. |
|
|||||
|
listener
|
Класс - логическая единица, кирпичик приложения, условно говоря.
Работа программы, написанной на классах, сводится к созданию экземпляров нужных классов. Вы уже используете классы, например MovieClip, Sprite, Graphics, поэтому, думается, представляете о чем идет речь. Компилятор AS требует описания каждого класса в отдельном текстовом файле. Поэтому разбить код на несколько файлов означает разбить код на классы. Т.е. нужно вычленить эти самые кирпичики из общей логики приложения. Зачастую кирпичиками являются клссы-наследники Sprite, несущие роль отображения графических элементов приложения. Файлы классов в самом тривиальном случае можно держать все в одной папке. По мере разрастания приложения их можно группировать в пакеты, т.е. физически это означает их можно разложить в структуре директорий, названия которых будут повторять названия пакетов. |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 290
|
Присодеиняюсь к вопросу. Справедливо ли утверждение:
Любой достаточно крупный единый Main.as класс можно разбить на несколько классов, согласно некоторому паттерну программирования. (То есть всегда найдется какой-либо паттерн). А значит, вместо того чтобы парицца над тем, как нужно разбивать класс... Мы просто слепо расчленяем его на блоки некоторого паттерна и хихикая потираем паучьи лапки. |
|
|||||
|
Цитата:
Преждем чем пользоваться каким-либо паттерном, надо понимать как он работает, а не слепо следовать его идеологии. |
|
|||||
|
А я бы рад, если бы была директива #include. Это был бы почти mixin. Зажили бы.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Так ведь она есть, только без решетки.
Как по мне, это нелепо для ас3 Цитата:
Я скажу так, новички почти никогда не понимают как правильно пользоваться классами, особенно если флеш - это их первый опыт программирования. Понимание придет со временем, главное практиковаться, читать побольше чужих (грамотных) кодов, не пренебрегать справкой, и все получится. Если постоянно что-то писать в классах, читать умные книжки, то через некоторое время понимание будет достаточным, чтобы подобные вопросы вообще не приходили в голову. Не нужно питать иллюзий о том, что кто-то сейчас придет и скажет такую умную фразу, после которой всё сразу, магическим образом, станет понятно. Все через это проходят, кто решил заниматься программированием. Всем, кто еще не понял что такое классы и как с ними работать, рекомендую прислушаться к совету in4core и почитать Колина Мука. Русский вариант называется Колин Мук - Actionscript 3 для флеш. Оригинал Colin Moock - Essential ActionScript 3 |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 290
|
У Мука нет конкретно про разбиение кода на классы, насколько я помню.
Многоклассовые примеры конешно есть, но вот так чтобы: "Ребята, вот был такой-то Main, а сейчас мы разобьем его на кучу классов", такого нет. И Феронато в своей книжке про игры пишет всё в одном большом Main. Ну иногда юзает классы мувиклипов с небольшими кодами. Вот поэтому я и вспомнил про паттерны, вроде как получается, что только у Сандерса представлена логика того, как нужно рассуждать и разбивать на фрагменты такой-то тип задач. А то, что все приходит с опытом постоянного программирования, оно понятно конешно. Но просто получается какая-то такая ситуация, что новичок с одной стороны еще не дорос до паттернов, это слишком круто, а с другой стороны часто запутывается в одном большом Main, который превращается в болото. И должен чисто интуитивно разбивать его на классы. Мне вот недавно удалось разбить один такой "болотный" Main на классы, но не до конца : ) И некоторые вещи я не понимаю как перенести в отдельный класс. Отсюда возникают идеи, злоупотреблять статическими классами например. Понаделать статиков, которым из некоторого небольшого ядра передавать объекты, массивы, и всё что угодно. |
|
|||||
|
Цитата:
То что вы называете "разбить код AS3 на несколько as-файлов" это и есть ООП. Если ООП непонятно, то паттерны уж тем более. Цитата:
|
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
Цитата:
Цитата:
И на самом деле всё очень просто... тут я хотел сказать как учил я, но не хочу чтобы Вам ещё раз показалось, что мои фразы напичканы - "змеиной лестью", "самобичеванием" и прочим... И хочется надеяться, что Вы один из немногих, который верен своим словам и не станет как и я задавать много вопросов, а всё постигнет самостоятельно и гордо.. |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|