2011-09-28 70 views
1

這應該很容易,但我找不到它。我希望我的.html和.swf文件的名稱與項目名稱不同。項目名稱是foo,我希望輸出是bar.html和bar.swf。謝謝。指定輸出文件名稱Flash Builder 4

+0

既然你提到「項目」我假設你使用的IDE?也許你應該告訴我們哪一個。 (Flash Builder?)。我會猜測Flash Builder,但在Flash Builder中,生成的SWF的名稱是主應用程序文件的名稱;而不是項目的名稱。 – JeffryHouser

+0

啊,好的。 Flash Builder 4.主應用程序是foo.as.我可以命名輸出bar.swf嗎? – dt1000

+0

您可以在事實後重命名它;但我不認爲你可以在編譯時更改名稱。你必須檢查命令行編譯器參數。如果您在html-template目錄中添加bar.html,我相信它會複製到bin-debug或bin-release。如果你添加一個名爲bar.template.html的文件,我想它會在bin-debug/bin-release文件夾中創建一個bar.html文件。 – JeffryHouser

回答

1

Flextras在正確的軌道上。如果您在Flash Builder中編譯,則無法更改輸出文件名(即使使用「-output」編譯器參數)。不知道爲什麼。

已經爲我工作的解決方案是使用有點間接的:

  1. 使用mxmlc的編譯到ApplicationClass.swf
  2. 命令行復制到ApplicationClass.swf YourCustomSwf.swf
  3. 命令行運行YourCustomSwf.swf

您可以使用簡單的(依賴於平臺的)構建腳本或Flex Ant任務來完成此任務。我強烈推薦後者;它是easy to setup,與Flash Builder很好地集成在一起,並且(作爲一個主要與平臺無關的解決方案)可以在多團隊的多操作系統環境中工作。以下是上述步驟Ant任務,會爲你執行魔術:

<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> 

你只需要定義所有$ {}變量我在「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)