Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Можно ли компилировать целиком сложные проекты во FlashDevelop. (http://www.flasher.ru/forum/showthread.php?t=120243)

SunShadow 15.01.2009 13:14

Можно ли компилировать целиком сложные проекты во FlashDevelop.
 
Здравствуйте уважаемые.
Разрабатываю для Flash CS3 с использованием FlashDevelop. Скажите знатоки имеется способ как можно разом перекомпилить флэшки находящиеся в проекте?
Надоело в сложных проектах при изменениях класса обертки перекомпиливать все по штучно.

mre 15.01.2009 13:28

Используйте Project в CS3 (Shift+F8).

iNils 15.01.2009 13:43

В свойствах проекта FD есть pre/post-build command line. То есть можно запустить батник с командами компиляции нужных флешек.

SunShadow 15.01.2009 13:45

to mre
А можно чуть подробнее?
Я сделал проект. определил документ по умолчанию. Но как запустить одновременно все флэшки на компиляцию? дело в том что все они как модули сделаны и подгружаются только по необходимости.
По тесту он запускает текущий Документ. А мне нужно чтобы он перекомпилил все .fla файлы. Я попробовал удалил swf из проекта и в итоге она не создалась.

P.S.:работаю под CS4

to iNils - а можно пример батника? Не приходилось пользоваться

mre 15.01.2009 13:49

Добавляете в проект нужные fla, выбираете default (который будет запущен после компиляции), затем - Test Project.
Пересобраны будут все файлы проекта, а запуститься default.

SunShadow 15.01.2009 14:01

Цитата:

Сообщение от mre (Сообщение 790792)
Добавляете в проект нужные fla, выбираете default (который будет запущен после компиляции), затем - Test Project.

Я выбрал папку где у меня расположены все файлы включая классы, мувики и прочие ресурсы(картинки, php-скрипты, звуки и пр.). Все они попали в проект. Определил Loader как документ по умолчанию. Рядом с каждым fla есть возможность проставить галочку для включения на publishing. Установка или снятие не дает эффекта. Кстати все fla находятся во вложенных папках по отношению к Loader.
Цитата:

Сообщение от mre (Сообщение 790792)
Пересобраны будут все файлы проекта, а запуститься default.

После запуска Test Project запускается Loader и грузит swf других модулей. Но сами модули не перекомпиливались? Может нужны какие то еще настройки в параметрах проекта?

iNils 15.01.2009 14:25

Класс A
Код AS3:

package test {
        import flash.display.*;
        public class A extends Sprite {
                public function A () {
                        graphics.beginFill (0xFF0000);
                        graphics.drawRect (0, 0, 100, 100);
                        graphics.endFill ();
                }
        }
}

Класс B
Код AS3:

package test {
        import flash.display.*;
        public class B extends Sprite {
                public function B () {
                        graphics.beginFill (0x0000FF);
                        graphics.drawRect (50, 50, 100, 100);
                        graphics.endFill ();
                }
        }
}

В pre-build пишем
Код:

$(ProjectDir)\project.bat
В project.bat (пути мои, поэтому поменяйте под себя)
Код:

"D:\_iDoc\My Flash\Soft\Flex\Adobe Flex SDK 3\bin\mxmlc.exe" -default-size 200 200 -default-background-color 0x0000FF -output A.swf -- "D:\_iDoc\My Flash\_Classes3\personal\test\A.as"

"D:\_iDoc\My Flash\Soft\Flex\Adobe Flex SDK 3\bin\mxmlc.exe" -default-size 400 400 -default-background-color 0xFF0000 -output B.swf -- "D:\_iDoc\My Flash\_Classes3\personal\test\B.as"

В результате, перед компиляцией основного проекта получаем два файла A.swf и B.swf

mre 15.01.2009 14:25

Да нет никаких настроек больше.
Я добавляю в проект только fla-файлы и все работает.

SunShadow 15.01.2009 14:42

Цитата:

Сообщение от iNils (Сообщение 790812)
"D:\_iDoc\My Flash\Soft\Flex\Adobe Flex SDK 3\bin\mxmlc.exe" -default-size 200 200 -default-background-color 0x0000FF -output A.swf -- "D:\_iDoc\My Flash\_Classes3\personal\test\A.as"

Этот вариант подходит и для cs3(cs4)? или только для флэкса? на сколько я понимаю запускает прекомпилятор из Flex SDK3. И он компилирует классы в готовые элементы под флекс. Из краткого знакомства с Flex я так понимаю у них разные подход. Flex в классах определяется то что надо подгружать, а Flash список объектов определяет в библиотеке и потом уже цепляет к ним классы.

iNils 15.01.2009 14:50

От флекса тут только компилятор.

А под компиляций проекта подразумевается компиляция fla файлов? Тогда забудьте, что я написал и используйте способ mre.

Лично я работаю фактически без Flash IDE, он используется только для создания swc библиотек. А так вся работа ведется в FD и компиляция происходит на базе mxmlc. Если нет анимации, то Flash IDE вообще не открывается, а все картинки добавляются через [Embed].

SunShadow 15.01.2009 15:10

Вложений: 1
Цитата:

Сообщение от mre (Сообщение 790813)
Да нет никаких настроек больше.
Я добавляю в проект только fla-файлы и все работает.

Создал простейший пример.
Два fla, один это предзагрузчик, а второй подгружаемый мувик связанный с классом Test. Сделал в CS4 проект, указал путь на папку с файлами. Loader указал в качестве документа по умолчанию. В Test.as меняю текст выводимый в trace и пытаюсь сделать тест проекта. В итоге получаю просто запуск Loader и подгрузку Sun.swf.
Перекомпиляции Sun.fla не наблюдается.
Исходники прикладываю. Научите что делаю не так?

wvxvw 15.01.2009 15:19

Чего-то в проекте не наблюдается ФЛА файлов... не понятно, что вы хотели скомпилировать =/

mre 15.01.2009 15:19

А где fla?

SunShadow 15.01.2009 15:28

Вложений: 1
Цитата:

Сообщение от wvxvw (Сообщение 790840)
Чего-то в проекте не наблюдается ФЛА файлов... не понятно, что вы хотели скомпилировать =/

Извиняюсь забыл Flash закрыть когда архивировал.

fljot 15.01.2009 15:44

Цитата:

Сообщение от iNils (Сообщение 790823)
Лично я работаю фактически без Flash IDE, он используется только для создания swc библиотек. А так вся работа ведется в FD и компиляция происходит на базе mxmlc. Если нет анимации, то Flash IDE вообще не открывается, а все картинки добавляются через [Embed].

кстати
а главный класс, который компилируете (DocumentClass в случае компиляции из-под Flash IDE), как выглядит? всмысле весь визуал добавляете кодом вручную?
я долго пробовал сделать так, чтобы главный класс (TestProject) уже содержал какую-то графику (накидать элементы (скажем, всякие меню, какой-то фон, подвал...) во Flash IDE, а потом делать как обычно:
Код AS3:

package  
{
        import flash.display.Sprite;
 
        [Embed(source="assets/lib.swf#TestProject")]
        public class TestProject extends Sprite
        {
                public function TestProject()
                {
                        super();
                }
        }
}

если со всякими вложенными объектами такая штука работает, то с главным классом нет - графика не появляется... дериктива Embed почему-то не срабатывает.

прокомментируйте, пожалуйста

iNils 15.01.2009 16:30

Компилятор Flash IDE не понимает Embed

fljot 15.01.2009 16:38

не-не.. компилирую то mxmlc-ом, но главный класс (TestProject) не подцепляет графику (символ TestProject в assets/lib.swf)

wvxvw 15.01.2009 17:11

ooops... CS4 :)

SunShadow 15.01.2009 21:32

Вложений: 1
Цитата:

Сообщение от wvxvw (Сообщение 790894)
ooops... CS4 :)

В P.S. проскакивало что работаю под CS4. Компилю под 9 плеер.
Пересохранил под CS3 оба FLA

AL.exe 16.01.2009 04:42

Цитата:

Сообщение от .flashProjectProperties
<compileList editable="false">
<uri label="Sun.fla">file:///D|/docs/Р*абочий стол/Test/Sun.fla</uri>
</compileList>

Почему-то второй файл у вас не прописан. Пропишите руками, если не работает галочка из CS4 =)

Добавлено через 26 минут
Упс, туплю, там в defaultApp основная флешка прописана. Все у Вас должно компилироваться. Вы точно не на Ctrl+Enter жмете? :)

jp_job 16.01.2009 06:22

а каким параметром можно отключить в mxmlc компиляторе Strict mode?

SunShadow 16.01.2009 06:52

Цитата:

Сообщение от AL.exe (Сообщение 791082)
Упс, туплю, там в defaultApp основная флешка прописана. Все у Вас должно компилироваться. Вы точно не на Ctrl+Enter жмете? :)

Нет жму на тест и на Ctrl+Enter тоже пробовал. Чего только уже не делал. Все время одно и то же. Может Flex SDK нужен? Или что-то в конфигурации проекта не так установлено?

УРРРРАААА!!!!
Заработал проект). На машине стоит CS3 еще, под ним сделал проект и в нем откомпилилось. Под CS4 не хочет.((( Может кто настройки проекта посмотрит и подскажет чего? Или у меня дистрибутив Flash просто кривой?

Ураааа!!!!
Запустил под CS4. Для запуска нужно было нажать кнопку Options и выбрать пунтк Publishing project. Test Project получается только запускает файл по умолчанию, а пересоздание теперь делается отдельно.

iNils 16.01.2009 11:45

Цитата:

Сообщение от fljot (Сообщение 790877)
не-не.. компилирую то mxmlc-ом, но главный класс (TestProject) не подцепляет графику (символ TestProject в assets/lib.swf)

Я так не делал. Создайте лучше swc и в дереве проекта подключите его. Никаких Embed при этом писать не надо.

tofflife 24.03.2010 19:33

Ом... а можете сказать, как из консоли указать mxmlc-компилятору, что я хочу, к примеру, скомпилировать sun.fla?
Я просто хочу это дело собирать на Scons с автоматическим коммитом в SVN.

wvxvw 24.03.2010 21:34

А никак - MXMLC не компилирует FLA вообще.

Gaen 24.03.2010 23:20

А можно ли вообще чем-нибудь компилировать fla из консоли?

fljot 25.03.2010 01:30

Можно ANTом совать флешу jsfl, который будет инициировать компиляцию

Котяра 25.03.2010 09:46

Цитата:

Сообщение от iNils (Сообщение 790823)
Если нет анимации, то Flash IDE вообще не открывается, а все картинки добавляются через [Embed].

Хреново всё-таки работает эмбед. я предпочитаю всё-таки картинки пихать во fla -там намного больше настроек сжатия итп. а затем компилирую в swc.


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

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