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

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

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

Регистрация: Aug 2011
Сообщений: 103
По умолчанию как правильно формировать пакеты?

Здравствуйте!
Не могу понять стандарт для формирования пакетов.
Допустим я сделал пакет buttons, при этом я думаю, все необходимые классы для создания кнопок должны лежать в этом пакете, кроме стандартных классов.
Так, если я захочу использовать кнопки в другом проекте, можно просто кинуть туда этот пакет и использовать не, задумываясь, что каких-то классов будет не хватать.
Теперь другая ситуация - на одном уровне с пакетом buttons, лежит пакет scrollbars, в котором, к примеру классы Scrollbar1, Scrollbar2, ... наследуются от класса ExtendsSprite, который лежит в пакете buttons, так как классы Button1, Button2,... тоже наследуются от ExtendsSprite.
Если мне не нужен пакет buttons в новом проекте, но нужен scrollbars, то мне придется все равно создавать пакет buttons, который будет содержать как минимум один класс ExtendsSprite, что создает неудобство.
Извините, что так много написал, хотел объяснить суть.
Нужны ваши советы

Старый 06.07.2012, 11:54
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Так, если я захочу использовать кнопки в другом проекте, можно просто кинуть туда этот пакет и использовать не, задумываясь, что каких-то классов будет не хватать.
Кинуть? Нельзя копипастить библиотечные классы - тогда исчезает их преимущество: экономия времени на дебаге одного и того же в разных проектах. Библиотечные классы подключаются как source-path к проекту, копипастяться только совсем в особых и тяжелых случаях, когда ложат на совместимость и расходы на дебаг ради специфического функционала.

По поводу того, что одному пакету нужны другие: значит они должы принадлежать одной либе - всё просто! Если подключать source-path к проекту, то во флешку встроятся только используемые, т.е. нет смысла что-то там специально копипастить.

Старый 06.07.2012, 12:33
Владимир Буквин вне форума Посмотреть профиль Отправить личное сообщение для Владимир Буквин Найти все сообщения от Владимир Буквин
  № 3  
Ответить с цитированием
Владимир Буквин
 
Аватар для Владимир Буквин

Регистрация: Aug 2011
Сообщений: 103
спасибо expl! В том,что вы написали я усмотрел что-то полезное, только не понял как пользоваться.
как пользоваться source-path?
Я пользуюсь Flash Builder 4.6
открыл свойства проекта, нашел пути сборки actionScript, исходный путь, добавить папку, и указал папку пакет из другого проекта - в новом проекте создался ярлык на эту папку.
пакет из старого проекта содержал класс, наследующий класс, из другого пакета.
тем самым новый проект не видит наследуемый класс - т.е нужные классы не встроились.

Старый 06.07.2012, 12:41
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Не надо "из другого проекта".. Создайте себе постоянную директорию, в которой будут лежать Ваши библиотеки, и разрабатывайте классы "там". Для конкретных проектов подключайте эту директорию, или лучше укажите путь к ней как дополнительный к дефолтному, чтобы было 2 (3...n) source path. Чтобы было одно постоянное хранилище Ваших разработок. Это к тому же дисциплинирует и помогает не называть классы и пакеты абы как (например, "ExtendsSprite" не говорит о классе вообще ничего. Имена должны отражать специфику класса, его назначение).
__________________
Reality.getBounds(this);

Старый 06.07.2012, 12:47
Владимир Буквин вне форума Посмотреть профиль Отправить личное сообщение для Владимир Буквин Найти все сообщения от Владимир Буквин
  № 5  
Ответить с цитированием
Владимир Буквин
 
Аватар для Владимир Буквин

Регистрация: Aug 2011
Сообщений: 103
спасибо Wolsh!, a source-path я так понял в параметрах компиляции указывать надо. это верно?

Старый 06.07.2012, 12:48
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Это естественно относится к таким классам и пакетам, которые изначально предполагается использовать в разных проектах, "универсальные" (пардон за мой санскрит). Конкретные классы, имеющие смысл только в рамках текущего проекта, пусть лежат в директории проекта, не стоит засорять свою библиотеку.
Так же рекомендую поступить со сторонними библиотеками, типа твинов от гринсок и т.п. — завести для них такое же постоянное хранилище "чужих классов", и подключать их к проектам по мере надобности. Не стоит включать их как постоянный source, чтобы не забивали автокомплит своими предложениями.

Добавлено через 4 минуты
Цитата:
a source-path я так понял в параметрах компиляции указывать надо. это верно?
Не в курсе, как там в билдере, пишу код только в ФД. В ФД можно указывать дополнительные пути к библиотекам для каждого конкретного проекта, и можно указывать "базовый" массив (набор) source path, общий для всех проектов наравне с классами "от Adobe"))
__________________
Reality.getBounds(this);

Старый 06.07.2012, 12:54
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 7  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Во FlashBuilder:
Правая кнопка по иконке проекта в дереве проекта -> Properties -> ActionScript BuildPath -> Source Path -> AddFolder
Указывается папка на один уровень выше корневой, т.е. если у вас класс ru.somePackage.SomeClass лежит в src/ru/somePackage/SomeClass.as, то нужно подключать папку src.

В параметрах компиляции - это при сборке bat-ником или через ant. Если у Вас не было в них нужды - не заморачивайтесь


Последний раз редактировалось expl; 06.07.2012 в 12:56.
Старый 06.07.2012, 13:05
Владимир Буквин вне форума Посмотреть профиль Отправить личное сообщение для Владимир Буквин Найти все сообщения от Владимир Буквин
  № 8  
Ответить с цитированием
Владимир Буквин
 
Аватар для Владимир Буквин

Регистрация: Aug 2011
Сообщений: 103
вопрос по ответу от Wolsh . а, что тогда с переносимостью?
к примеру один проект делают два человека с разных компьютеров. либо я делаю проект, в котором указываю путь к библиотеке, затем мне нужно перекинуть проект на другой компьютер.
мне придется создавать директории на 2-м компьютере с теми же именами, что на 1-м компьютере.
Поясню. У меня есть директория для моих проектов, я работаю вместе с другим программистом, у него на компе своя директория для хранения проектов. Другой программист может скопировать у меня проект, скомпилировать у себя и проект сразу заработает, а в этом случае мне придется переписывать настройки компиляции?

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

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Не надо "из другого проекта".. Создайте себе постоянную директорию, в которой будут лежать Ваши библиотеки, и разрабатывайте классы "там". Для конкретных проектов подключайте эту директорию, или лучше укажите путь к ней как дополнительный к дефолтному, чтобы было 2 (3...n) source path. Чтобы было одно постоянное хранилище Ваших разработок.
Конечно. А потом, когда эти "ваши библиотеки" изменятся, вы получите пачку неработающих старых проектов. А если даже вести контроль версий "ваших библиотек", то в зависимых проектах придётся где-то сохранять-записывать хэши коммитов, с которыми оно разрабатывалось и работало..

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Не изменяйте, пишите новые)) На то она и "библиотека", а не папка рабочего проекта. Если Вам нужен не такой класс, как в библиотеке, пишите его в проекте. А по вашей логике можно и в гринсок залезть да переписать там десяток классов под свои нужды....
__________________
Reality.getBounds(this);

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

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

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


 


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


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