Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Поделитесь опытом работы с большим проектом (http://www.flasher.ru/forum/showthread.php?t=134833)

mr_oduvan 10.01.2010 16:31

Поделитесь опытом работы с большим проектом
 
Для начала хочу ускорить процесс компиляции проекта.

Полторы минуты ждать, чтоб посмотреть мелкие изменения - это круто, а еще очень много надо сделать.

Кто как борится с этой проблемой?

etc 10.01.2010 16:36

С помощью swc.

mr_oduvan 10.01.2010 16:51

Как? Я просто включил его в профиле. Скорость компиляции не ускорилась.

etc 10.01.2010 16:54

Кого «его»?

nickorsk 10.01.2010 17:00

Вы случаем все не в 1-н файле компилируете???
Большие проекты разделяют на составные части -это классы, подклассы, графические объекты отдельно.
Поэтому нет необходимости в компиляции больших кусков кода, так как он разделен на кучи классов. Компиляция при таком подходе занимает не более нескольких секунд.
Так же в целях решения этой проблемы можно использовать метод include - созадешь отдельный кусок кода в файле инклуда, а потом присоединяешь кусок -компилируешь только кусок include кода.
Таким способом можно создавать очень большие проекты, а время компиляции при этом остается не именным -пары секунд.

Если вы Flash конечно используете, а не Flex -там компиляция куда длиннее, но и возможностей для разработчика куда больше чем во Flash -это однозначно.

mr_oduvan 10.01.2010 17:01

"Export SWC" в Publish Settings

Добавлено через 1 минуту
@nickorsk
Вот. Именно про это я и говорю!

Как производится разделение?

etc 10.01.2010 17:06

Цитата:

Сообщение от mr_oduvan (Сообщение 878009)
"Export SWC" в Publish Settings

Ну вы получили swc, круто.


Цитата:

Сообщение от mr_oduvan (Сообщение 878009)
Как производится разделение?

Собственно, код разбивается на несколько swc, а графику вообще во внешних swf. Только Flash IDE вам тут не помощник, нужен Flex Builder, например.

nickorsk 10.01.2010 17:08

Да да etc вещь говорит -Flash игрушка для аниматоров.
Как программист я знаком с Flex всего пару дней -но те возможности что дает Flex даже меня впечатлили.

mr_oduvan 10.01.2010 17:08

Вынести некоторые мувики в отдельный swc? и их потом просто присоеденить к проекту? Как присоединять? Где почитать?

Добавлено через 1 минуту
Хм. А если у меня уже большая часть проекта написана на Флеше?

nickorsk 10.01.2010 17:11

Давайте -я сам недавно профессионально actionscript3 и mxml начал изучать, с разделением в среде Flash я знаком, а вот как разделять в Flex еще не очень -но знаю точно Лучше пользоваться Flex, а Flash сам редактор не нужен, разве что для мелких задач -или рисовать анимацию.
Хотите давайте вместе изучать, тем более проекты хорошие создаются совместно в группе -как в любой фирме.

"Хм. А если у меня уже большая часть проекта написана на Флеше?" -разделять, вопрос только вы программируете или просто анимацию лепите??

mr_oduvan 10.01.2010 17:12

Если я буду продолжать вести проект только во флеше, то обричен компилировать по 2 минуты?

etc 10.01.2010 17:14

nickorsk, надо заметить, что я говорил про Flex Builder, а не Flex.

mr_oduvan, да.

mr_oduvan 10.01.2010 17:19

Т.е. я графику просто разобью на несколько swf и скомпоную во FlexBuilder?

как это делается? где про это можно почитать?

И на сколько сложно мигрировать проект с Flash CS4 на FlexBuilder?

etc 10.01.2010 17:27

Графику лучше извне в рантайме подгружать. Я не знаю, какого рода у вас проект, поэтому конкретнее сказать сложно.

nickorsk 10.01.2010 17:31

Цитата:

Сообщение от etc (Сообщение 878019)
nickorsk, надо заметить, что я говорил про Flex Builder, а не Flex.

mr_oduvan, да.

Flex Builder - ну это почти тоже самое что Flex SDK - только есть редактор, который сам по себе нужен только для новичков как мне кажется. Eclip тоже не пальцем деланный)))
Но все же.

"И на сколько сложно мигрировать проект с Flash CS4 на FlexBuilder?" -совсем не сложно, ибо Flex поддерживает actionscript и swf файлы как ресурсы тоже. Результатом компиляции в Flex тоже может является swf.

mr_oduvan 10.01.2010 17:33

Не картинки, а мувиклипы.

У меня там свои мувики кнопок, окон. + 220 кБ исходников АС3.

Это получается весь проект надо миграровать на mxml на компоненты Flex, либо свои мувики сводить к его компонентам?

nickorsk 10.01.2010 17:34

Ничего делать не нужно.
еще раз скажу Flex работает на Mxml+ actionscript.
Собственно если бы я знал что вы делаете за проект -я бы сказал бы проще -если это не коммерческая тайна конечно.
Компоненты Flex это GUI - пользовательский интерфейс. Сами мувики рассматриваются как ресурсы -они вполне читабельны.

etc 10.01.2010 17:34

nickorsk, SDK и редактор совсем вещи разные. SDK не редактор, и редактор — не Flex.

mr_oduvan, речь не идёт об использовании Flex framework, речь об обычном Pure AS3-проекте в билдере, с подключенными к нему проектами-библиотеками swc.

nickorsk 10.01.2010 17:38

SDK -это по сути набор классов -исходник.
Builder -это редактор, только толка особого я в нем не вижу для профи, только для начального изучения, что к чему.
Определенные методы быстрее копировать из блокнота, т.е. их заготовки чем в редакторе в ручную все размещать. Хотя это мое мнение.

etc 10.01.2010 17:39

nicorsk, учите матчасть. Есть три вещи, слабо друг с другом связанные: Builder, SDK и Framework. Пока вы не знаете, чем они отличаются, не смешите людей.
Мнение можно выражать только после плотной работы с этими инструментами. Особенно «Builder не для профи» — звучит.

nickorsk 10.01.2010 17:42

слабо не слабо -не понятно чем билдер кроме наличия редактора от SDK отличается?? Что он дает нужного??
Лично как я понял -принцип на подобе Dreamweaver -можно код вручную в блокноте набрать, можно IDE Dreamweaver использовать и перетаскивать из панельки объекты.

Хотя каждому свое... Просто выразил свое мнение.

etc 10.01.2010 17:44

SDK вообще GUI не имеет. Этим и отличается. Ни профайлера, ни дебаггера, ничего.
В SDK у вас компилятор и фреймворки и только. Чтобы со всем этим SDK работать, вам нужен редактор, какой-никакой, хотя бы FD.

mr_oduvan 10.01.2010 17:48

@etc про возможность сборки и компоновки в билдере - я могу гдето в сети почитать? Примеры?

Был бы вам очень признателен.

Просто у меня до сих пор в голове слабо вяжется то, что ЦС4 большие проекты не тянет. практически слезы наворачиваются :)

etc 10.01.2010 17:50

mr_oduvan, наверное можете, у меня ссылок за пазухой нет.

mr_oduvan 10.01.2010 18:07

Хотел показать небольшую бекту, но при миграции с CS3 на CS4 некоторые вещи перестали адекватно работать.

Но пока что проект получается не маленький. Сил потрачено не мало :)

nickorsk 10.01.2010 18:08

Я уже SDK подключал, только движков для 3-х игр, ну и компилировал результаты.
Суть тоже самое -есть движки IDE на основе скриптов(т.е. билдеры, тулеры), есть движки(GUI engine, phisics engine,graphic engine, сторонние библиотеки и пр..) на SDK основе, разница - одни по сути напоминают конструктор только скрипты пиши - как во Flash тоже самое, а другие это чисто написание кода -используются редакторы например MS VS C++ - подключаешь библиотеки, SDK - вперед.

У меня Flex builder plugin, т.е. не standalone приложение - IDE -eclipse.
Кому что нравится.


Могу порекомендовать литературу -по actionscript3 и Flex.

mr_oduvan 10.01.2010 18:21

@nickorsk скрипты я догодался, что миграцию переживут. Меня также волнуют мувики.

От рекомендаций не откажусь. :) На всякий случай мой емаил и джабер alexander@lyabah.com

nickorsk 10.01.2010 18:32

С мувиками ничего не будет -их компилируешь в swf, а потом в Flex добавляешь -почти также как картинки в html.
Проблемы могут быть только в соответствии версии Builderа, flash playera и Flex sdk.

mr_oduvan 10.01.2010 18:53

блин.. вот черт.. вочти уверен... как только добавлю хоть один тег в mxml сразу не удержусь и все препешу на нем :)

nickorsk 10.01.2010 18:55

Сначала начни с минимум -освой actionscript3.
Потом понят Flex будет как 2-ва пальца об асфальт.
Впрочем давай я тебе в личку напишу -пообщаемся на эту тему.

mr_oduvan 10.01.2010 18:56

А с областью видимости у них как?

к примеру у меня есть клас со статическим паблик варом. И многие мувики его юзают. Если я их разделю на свфки, этот вар так и останется один на всех?

Добавлено через 3 минуты
А с областью видимости у них как?

к примеру у меня есть клас со статическим паблик варом. И многие мувики его юзают. Если я их разделю на свфки, этот вар так и останется один на всех?

nickorsk 10.01.2010 19:17

Смотря для чего этот вар используется, так как он паблик он доступен любому классу.

mr_oduvan 10.01.2010 19:42

Меня интересует лишь его доступность. Какая разница, для чего он используется.

udaaff 10.01.2010 20:43

mr_oduvan, возможно вам Convert to Compiled Clip поможет. Никогда правда не юзал эту фишку, но, по сути, прекомпилирование некоторых частей должно ускорить процесс сборки всего проекта.

mr_oduvan 02.02.2010 17:58

Хочу еще раз поднять, наверно уже забытую тему.

А что если разделить по нескольким свфкам интерфейсы, а в основной свфке - только их юзать и все.

В свфки интерфейсов в базовом класе создаем свойства, которому при создании передаем ссылки на классы, которые будем юзать.

а в основной флешке просто юзаем эти ссылки и создаем необходимые классы мувиков и чего угодно.

Сейчас еще немного проэксперементирую и попробую выставить примерчики кода, для понятности.

Но все сводится к тому, что разделать большой проект на небольшие свфки - очень даже реально, и практично.


К примеру вы создаете рпгешку по комнатам. заходя в каждую комнату вы можете предворительно загружать свфку ее интерфейса.

Diestro 02.02.2010 20:18

mr_oduvan, слушайте что вам etc говорит - это истина. У товарища nickorsk - в голове каша.
Для больших проектов используется среда разработки Flex Builder. В нем есть возможность создавать 3 типа проектов:
1. Flex Project - это проект в котором для разработки используется Flex Framework. Для определенного рода задач - вещь просто незаменимая. На выходе - swf.
2. Actionscript project - это проект в котором для разработки используется только Actionscript в его девственно чистом виде. Это как раз то с чего нужно начинать. На выходе - swf.
3. Flex Library project - это проект в котором содержаться классы библиотеки. На выходе - swc.

К проектам Flex Project и Actionscript project можно прилинковывать неограниченное количество swc библиотек и проектов типа Flex Library project. Причем перед компиляцией вашего основного проекта будут пересобираться все Flex Library project, подключенные к нему. И это будет происходить только в том случае если в библиотечных исходниках были сделаны изменения. Отсюда выигрыш по скорости в компиляции.

mr_oduvan 02.02.2010 22:18

Цитата:

Сообщение от Diestro (Сообщение 883716)
К проектам Flex Project и Actionscript project можно прилинковывать неограниченное количество swc библиотек и проектов типа Flex Library project. Причем перед компиляцией вашего основного проекта будут пересобираться все Flex Library project, подключенные к нему. И это будет происходить только в том случае если в библиотечных исходниках были сделаны изменения. Отсюда выигрыш по скорости в компиляции.

А так получается таже Ж, только вид с боку и не надо переезжать на флекс.
Только прелоадер написать к проекту и все.

Добавлено через 2 минуты
И еще можно конралировать и изменять неймспейс для импортируемых классов. Что кстате тоже фича реюзабельности.

Добавлено через 7 минут
а еще крутая тема - можно релоадить на ходу работы флешки.

Diestro 02.02.2010 22:36

Flex builder - это прежде всего очень удобный инструмент для разработки, дающий много преимуществ при разработке по сравнению с разработкой только во Flash IDE. Скажу больше, если правильно распределить роли участия в проекте между Flex Builder и Flash IDE, то можно добиться очень хороших результатов. Flash - для графики, Flex - для кодинга.
Поэтому это не та же Ж, это немеряное количество профитов, удобства и ускорения разработки.
Помимо Flex Builder'а так же существуют FDT и IDEA, которые тоже дают серьезные преимущества.
Пора вылазить из пещер :)

mr_oduvan 03.02.2010 11:18

Спасибо Diestro за объяснения. Безусловно FlexBuilder - это уже следующий этап в эволюции. Но этот проект надо уже добить, а на еще один рефакторинг и перезд нет времени.

Уже нет сомнений, что небходимо будет выделить время, засесть за книжки и начать испольщовать флекс. (Да и к тому же, я его уже когда-то пробовал, когда он еще был вторым )


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

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