![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2015
Сообщений: 26
|
Подскажите, пожалуйста, в общих чертах, как перейти от программирования в кадрах во флеше (то есть, как в большинстве обучающих роликов и туториалов: создаем слой, что-то рисуем, добавляем символы и т.п. и в каком-то слое пишем в кадре код) к программированию в классах. Слышал, что это правильней, но как тогда будет выглядеть проект? Сейчас сам дошел только до того, что в кадре создаю класс, например, Kadr1, передаю туда this, т.е. сам основной ролик-MainTimeLine, потом вызываю из класса, функцию Run() и в ней уже делаю все то, что раньше делал в кадре: то есть добавление лисенеров, вся логика и т.п. Правильный ли это подход? Может где-то можно прочитать про программирование именно в классах?
ps и если работать во flash developere, то не создать никакую анимацию, но работать с кодом и классами там очень хорошо, а Adobe Flash Prof отличный инструмент для аниматоров, но код в нем писать сложно. Что выбрать, как совместить это? |
|
|||||
|
Регистрация: Jun 2014
Сообщений: 558
|
делать анимацию во адобе, выгружать её и работать с ней во flash develop
|
|
|||||
|
Цитата:
Цитата:
Все, теперь в коде можно где-то создать экземпляр этого класса п.с. Я бы посоветовал параллельно изучать Java (не путать с JavaScript!). Синтаксис у нее похож на AS3, но работа в классах будет гораздо более понятна, потому что там в помине нет ничего подобного таймлайну в ас3 |
|
|||||
|
Регистрация: Jul 2015
Сообщений: 73
|
это так парочкой сообщений не рассказать думаю, если хочешь в adobe flash то вот скайп, zamir bostanov, думаю смогу прояснить
|
|
|||||
|
Регистрация: Aug 2015
Сообщений: 26
|
Цитата:
Цитата:
Цитата:
Но вот допустим пример простой: флешка, где прелоадер, после него кадр 2 - меню, кадр 3 - игра, кадр 4, допустим настройки. Если делать в классах, то сначала сделали символ (+класс) с прелоадером, поместили на сцену, дождались загрузки, а дальше? взяли parent и перешли на кадр 2? или как? В кадре 2 опять же несколько символов, для всех классы, но их нужно как-то поместить на сцену, то есть снова в кадре писать addchild() ? Да и логика нужна иногда "общая", а не только для одного символа, например, при переходе на кадр 3 - спросить базу данных о чем-нибудь. И где этот код писать, какой символ-класс за него отвечает? Или если взять не MainTimeLine как основу, а просто сделать символ-класс, в котором будет вся игра, то уже в символе этом нужно перемещаться по кадрам, добавлять в него другие символы, а как это сделать, не прописывая ничего в кадрах? И снова: перешли в кадр 3 в символе - надо спросить БД - где писать этот код? Сейчас я создал класс общения с БД, создаю его в кадре и вызываю нужный метод, минимизируя тем самым код в кадре, но все равно не нравится, что без создания классов в кадрах не уйти.. + размещать символы в коде довольно неудобно по сравнению с тем, когда во Flash Pro просто зрительно поставил где надо и все, поэтому addchild() для всех символов слишком усложнит работу с дизайнером, которому пока только gotoandstop() остается. |
|
|||||
|
Цитата:
Цитата:
![]() Весь этот подход с кадрами - тупиковый. Это все рано или поздно понимают, кто работает с флешем. Нужно оперировать экземплярами классов, а не кадрами. Правильнее делать так: создали класс прелодер, он загрузил все что надо самоликвидировался, перед этим добавив/передав нужный контент дальше. Этот "контент" (сама флешка) тоже структурирован с помощью классов. Есть классы отвечающие за меню, которые содержат все кнопки меню, страницы и т.д. Есть классы отвечающие за геймплей. Дизайнер пусть делает элементы отдельно. Не нужно, чтобы он собирал все сам. |
|
|||||
|
Цитата:
Нужно сделать какой-то редактор интерфейса, который генерит код, размещающий всё где и как надо.
__________________
There is no thing in this world that is not simple. |
|
|||||
|
Регистрация: Jul 2015
Сообщений: 73
|
на главной сцене советую вообще ничего не ставить, если нравится выставлять зрительно а не кодом, то нужен главный класс, в меню свойства есть пункт класс со значком карандашика справа, там пишешь название главного класса ну допустим будет "Main" и нажимаешь на карандашик выходит вот такой код
package { import flash.display.MovieClip; public class Main extends MovieClip { public function Main() { // constructor code } } } потом уже создай символы например Room_1 и Room_2 и выставляй визуально в каждом из этих символов как угодно и уже в главном классе Main с помощью addChild() вызывай экземпляры этих символов, в кадрах код лучше не писать, разве что по мелочи |
|
|||||
|
Цитата:
В главном классе только кодом и можно выставлять, или с помощью XML-конфигов. Да, только не особо программисты могут себе позволить код в кадрах. Кадры - это просто анимация, мультик, набор спрайтов. Программисты ООП-шнутые да шаблонизированные все какие-то. Им хочется какого-то однообразия и порядка, некого алгоритма, который поможет мозгу быстро ориентироваться в коде и не медля работать с проектом. Одного алгоритма, одного порядка. Все к этому приходят, в процессе какой-либо долгой работы с кодом. Хотите писать всё время в кадрах - пишите в кадрах. Ежели хотите писать в классах - пишите в классах. Главное - не мешайте одно с другим, в итоге запутаетесь и сами, и проект в мусорку превратите. Мой выбор в пользу классов. И, хотелось бы вам дать книжку по ООП, которая поможет выпрямить руки. Давайте я посоветую... Колина Мука? Чем дальше я иду в программировании, тем больше вижу, насколько важно придерживаться одного и того же алгоритма для всего, что делаешь. Одного и того же стиля. Со временем вырабатывается что-то вроде иммунитета, который просто отторгает всё внеземное, и позволяет читать вам ваш код, будто вы читаете стихотворение или рассказ на родном языке. Но ежели вам придётся читать чужой код, который подчиняется другим принципам и алгоритмам, несладко придётся. Это как заново язык учить. Ну и, в наши дни все стараются придерживаться одного стиля, выработанного годами и стандартами, ну и индусами. Естественно, желательно знать, как пишут все, чтобы легче читать чужой код, да и свой совершенствовать в лучшую сторону.
__________________
There is no thing in this world that is not simple. Последний раз редактировалось ZackMercury; 10.08.2015 в 01:32. |
|
|||||
|
Регистрация: Jul 2015
Сообщений: 73
|
Цитата:
имелось ввиду если человек хочет выставлять объекты на сцену зрительно то надо создать символы и ставить и их на сцену с помощью главного класса, а не писать код в кадре и переходить на следующий кадр, я так понял он не знает о существовании главного класса |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:39. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|