Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.12.2013, 00:52
BadaBooom вне форума Посмотреть профиль Отправить личное сообщение для BadaBooom Найти все сообщения от BadaBooom
  № 1  
Ответить с цитированием
BadaBooom

Регистрация: Dec 2013
Сообщений: 1
По умолчанию Как разбить код AS3 на несколько as-файлов?

Работаю в Adobe Flash Profesional CS5.5, не в кадрах, в классах. Создал проект в формате .fla, в .as-файле (Main.as) написал код AS3. Хочу разбить код на несколько as-файлов. Вопрос в том, как это сделать? Что должно остаться в файле Main.as, что следует переносить в другие as-файлы, а главное как обеспечить взаимодействие всех этих файлов так, чтобы код работал (хочу понять принцип, было бы здоров посмотреть примеры кода в разных as-файлах какого-нибудь простенького проекта)?

Только начал писать в классах, потому кое-что не понятно.

Заранее спасибо тем, кто не останется равнодушным и поучаствует в теме.

Старый 20.12.2013, 02:58
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
А не почитать ли на Колин Мук AS3 ?
__________________
Марк Tween

Старый 20.12.2013, 08:29
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 3  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Класс - логическая единица, кирпичик приложения, условно говоря.
Работа программы, написанной на классах, сводится к созданию экземпляров нужных классов.
Вы уже используете классы, например MovieClip, Sprite, Graphics, поэтому, думается, представляете о чем идет речь.
Компилятор AS требует описания каждого класса в отдельном текстовом файле. Поэтому разбить код на несколько файлов означает разбить код на классы. Т.е. нужно вычленить эти самые кирпичики из общей логики приложения. Зачастую кирпичиками являются клссы-наследники Sprite, несущие роль отображения графических элементов приложения.
Файлы классов в самом тривиальном случае можно держать все в одной папке. По мере разрастания приложения их можно группировать в пакеты, т.е. физически это означает их можно разложить в структуре директорий, названия которых будут повторять названия пакетов.

Старый 20.12.2013, 10:15
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 4  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
Присодеиняюсь к вопросу. Справедливо ли утверждение:
Любой достаточно крупный единый Main.as класс можно разбить на несколько классов, согласно некоторому паттерну программирования.
(То есть всегда найдется какой-либо паттерн).

А значит, вместо того чтобы парицца над тем, как нужно разбивать класс...
Мы просто слепо расчленяем его на блоки некоторого паттерна и хихикая потираем паучьи лапки.

Старый 20.12.2013, 10:31
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 5  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 921
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
Цитата:
А значит, вместо того чтобы парицца над тем, как нужно разбивать класс...
Мы просто слепо расчленяем его на блоки некоторого паттерна и хихикая потираем паучьи лапки.
Достаточно странное утверждение.
Преждем чем пользоваться каким-либо паттерном, надо понимать как он работает, а не слепо следовать его идеологии.

Старый 20.12.2013, 10:39
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
А я бы рад, если бы была директива #include. Это был бы почти mixin. Зажили бы.

Старый 20.12.2013, 11:30
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Так ведь она есть, только без решетки.

Как по мне, это нелепо для ас3

Цитата:
Любой достаточно крупный единый Main.as класс можно разбить на несколько классов, согласно некоторому паттерну программирования.
Чье это утверждение?
Я скажу так, новички почти никогда не понимают как правильно пользоваться классами, особенно если флеш - это их первый опыт программирования. Понимание придет со временем, главное практиковаться, читать побольше чужих (грамотных) кодов, не пренебрегать справкой, и все получится. Если постоянно что-то писать в классах, читать умные книжки, то через некоторое время понимание будет достаточным, чтобы подобные вопросы вообще не приходили в голову. Не нужно питать иллюзий о том, что кто-то сейчас придет и скажет такую умную фразу, после которой всё сразу, магическим образом, станет понятно. Все через это проходят, кто решил заниматься программированием. Всем, кто еще не понял что такое классы и как с ними работать, рекомендую прислушаться к совету in4core и почитать Колина Мука. Русский вариант называется Колин Мук - Actionscript 3 для флеш. Оригинал Colin Moock - Essential ActionScript 3

Старый 20.12.2013, 13:03
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 8  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
У Мука нет конкретно про разбиение кода на классы, насколько я помню.
Многоклассовые примеры конешно есть, но вот так чтобы: "Ребята, вот был такой-то Main, а сейчас мы разобьем его на кучу классов", такого нет.

И Феронато в своей книжке про игры пишет всё в одном большом Main. Ну иногда юзает классы мувиклипов с небольшими кодами.

Вот поэтому я и вспомнил про паттерны, вроде как получается, что только у Сандерса представлена логика того, как нужно рассуждать и разбивать на фрагменты такой-то тип задач.

А то, что все приходит с опытом постоянного программирования, оно понятно конешно.

Но просто получается какая-то такая ситуация, что новичок с одной стороны еще не дорос до паттернов, это слишком круто, а с другой стороны часто запутывается в одном большом Main, который превращается в болото. И должен чисто интуитивно разбивать его на классы.

Мне вот недавно удалось разбить один такой "болотный" Main на классы, но не до конца : )
И некоторые вещи я не понимаю как перенести в отдельный класс. Отсюда возникают идеи, злоупотреблять статическими классами например. Понаделать статиков, которым из некоторого небольшого ядра передавать объекты, массивы, и всё что угодно.

Старый 20.12.2013, 13:24
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 9  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Цитата:
Но просто получается какая-то такая ситуация, что новичок с одной стороны еще не дорос до паттернов, это слишком круто, а с другой стороны часто запутывается в одном большом Main
Значит нужно учить ООП-программирование.

То что вы называете "разбить код AS3 на несколько as-файлов" это и есть ООП. Если ООП непонятно, то паттерны уж тем более.

Цитата:
У Мука нет конкретно про разбиение кода на классы, насколько я помню.
Как нету? А глава посвящена ООП это не оно?

Старый 20.12.2013, 13:30
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 10  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
У Мука нет конкретно про разбиение кода на классы, насколько я помню.
На сколько я помню - есть и даже очень подробно, при создании нового свойства много комментариев и обьяснений о том, как лучше распределить по классам.
Цитата:
И Феронато в своей книжке про игры пишет всё в одном большом Main.
Даже глупый я понимаю, что такое читать вредно.
Цитата:
что новичок с одной стороны еще не дорос до паттернов
О них нужно читать в самом начале и не делать каких то непонятных приложений, которые как раз и калечат сознание.
И на самом деле всё очень просто... тут я хотел сказать как учил я, но не хочу чтобы Вам ещё раз показалось, что мои фразы напичканы - "змеиной лестью", "самобичеванием" и прочим... И хочется надеяться, что Вы один из немногих, который верен своим словам и не станет
как и я задавать много вопросов, а всё постигнет самостоятельно и гордо..

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:56.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.