Да, параметр компилятора "-output" не будет работать, если вы компилируете в Flash Builder, как вы, несомненно, поняли. Это вольно, верьте или нет (не знаю почему).
Решение, которое сработало для меня, заключалось в использовании некоторой косвенности:
- используйте mxmlc для компиляции в ApplicationClass.swf
- скопируйте командную строку ApplicationClass.swf в YourCustomSwf.swf
- командная строка запускает YourCustomSwf.swf
Это можно сделать либо с помощью простого (зависящего от платформы) сценария сборки, либо с помощью Flex Ant Tasks. Я настоятельно рекомендую последнее; прост в настройке , хорошо интегрируется с Flash Builder и (в основном как независимое от платформы решение) будет работать в многопользовательской среде с несколькими ОС. Вот вышеперечисленные шаги как задачи муравья, которые будут выполнять магию для вас:
<project name="sample-build" default="run-your-swf">
<property file="${basedir}/your.properties.file"/>
<target name="compile-your-app">
<mxmlc file="${SOURCE_DIR}/ApplicationFile.mxml" compiler.debug="${IS_DEBUG}" incremental="true" failonerror="true">
<load-config filename="${DEFAULT_FLEX_CONFIG}"/>
<define name="CONFIG::DEBUG" value="${IS_DEBUG}"/>
<define name="CONFIG::FLASH_AUTHORING" value="${IS_FLASH_AUTHORING}"/>
<define name="CONFIG::IS_RELEASE" value="${IS_RELEASE}"/>
</mxmlc>
</target>
<target name="rename-your-swf" depends="compile-your-app">
<copy file="${OUTPUT_DIR}/feed/FeedComponent.swf" tofile="${OUTPUT_DIR}/YourNewSexyFilename.swf"/>
</target>
<target name="run-your-swf" depends="rename-your-swf">
<exec executable="${STANDALONE_FLASH_DEBUG_PLAYER}">
<arg line="${OUTPUT_DIR}/YourNewSexyFilename.swf"/>
</exec>
</target>
</project>
вам нужно только определить все $ {VARIABLES}, которые я перечислил в "your.properties.file", например так:
FLASH_PLAYER_DEBUG=/Applications/Adobe Flash CS5/Players/Debug/Flash Player Debugger.app/Contents/MacOS/Flash Player Debugger
IS_DEBUG=true
(и так далее)
И вообще - что в имени? Программа под любым другим именем была бы такой же крутой ... B -)