swc 就是 actionscript 或flash資源編譯後的檔案,可以方便使用而不需再次編譯,但是編譯後程式碼的註解會被忽略,這樣就難以了解使用的方法。
而所謂的 FatSwc 就是指有包含註解的swc檔案,這種檔案可以利用flashdevelop或是flash builder開啟看到註解的內容。
FatSwc = swc + asdoc
如果你用的是flashdevelop可以使用ExportSWC來快速建立swc檔案。
如果你用的是flash則可以參照 奶綠茶flash匯出swc格式 方式輸出圖形資源檔。
這邊要介紹的方式是使用flex sdk + bat + 7zip 的方式來建立FatSwc檔案。
紅字表示你可能需要修改的地方
----------------------------------------------------------------------------------------------------------
:: @author zp
@echo off
:: *flex sdk 路徑
set SDK_PATH=%LocalAppData%\FlashDevelop\Apps\ascsdk\21.0.0
:: title
set TITLE=標題
:: *輸出swc檔名
set EXTENSION_SWC=bin\%TITLE%.swc
:: *設定解壓縮軟體
set DECOMPRESS="C:\Program Files\7-Zip\7z.exe"
:: compc 路徑
set COMPC_PATH="%SDK_PATH%\bin\compc.bat"
:: 輸入as路徑 ,要打包的目錄
set SRC_PATH=src
:: 如果未輸入 則用托拉檔案方式建立路徑
if "%SRC_PATH%"=="" set SRC_PATH=%1
if not defined SRC_PATH goto noPath
::echo %SRC_PATH%
:: 取得目前檔案位置
set V_BATPATH=%~DP0%
:: 輸出的swc文件位置
set OUTPUT_NAME=%V_BATPATH%%EXTENSION_SWC%
:: 輸入要外部參照的library
:: air版用
set INCLUDE_PATH="%SDK_PATH%\frameworks\libs\air"
:: flash player 11.0版用
::set INCLUDE_PATH="%SDK_PATH%\frameworks\libs\player\11.0"
:: 第三方libray
set LIBRARY_3RD_PARTY=-library-path="%SRC_PATH%"
if exist "%V_BATPATH%lib" set LIBRARY_3RD_PARTY=%LIBRARY_3RD_PARTY% -library-path+="%V_BATPATH%lib"
if exist "%V_BATPATH%libs" set LIBRARY_3RD_PARTY=%LIBRARY_3RD_PARTY% -library-path+="%V_BATPATH%libs"
:: tmp file
set TMP_BAT=%V_BATPATH%tmp_Export.bat
:: 設定aasdoc.bat
set ASDOC="%SDK_PATH%\bin\aasdoc.bat"
:: temp asdoc path
set OUTPUT_DOCS_PATH=%V_BATPATH%bin\docs
:: 建立asdoc
@echo off
echo step 1. create asdoc
echo @echo off>%TMP_BAT%
echo %ASDOC% -doc-sources %SRC_PATH% %LIBRARY_3RD_PARTY% -main-title "%TITLE% API Documentation" -window-title "%TITLE% API Documentation" -output "%OUTPUT_DOCS_PATH%" -keep-xml=true -skip-xsl=true>>%TMP_BAT%
call "%TMP_BAT%" %SRC_PATH%
:: 建立 swc
@echo off
echo step 2. create swc
echo @echo off>%TMP_BAT%
echo %COMPC_PATH% -optimize -source-path %SRC_PATH% -include-sources %SRC_PATH% -external-library-path %INCLUDE_PATH% %LIBRARY_3RD_PARTY% -output "%OUTPUT_NAME%">>%TMP_BAT%
call "%TMP_BAT%"
:: 建立 fat swc
@echo off
echo step 3. create fat swc
%DECOMPRESS% a -tzip "%OUTPUT_NAME%" "%OUTPUT_DOCS_PATH%"
::刪除多餘檔案
@echo off
echo step 4. delete tmp files
rd /s /q "%OUTPUT_DOCS_PATH%"
del "%TMP_BAT%"
goto end
:noPath
echo.
echo 未指定目標路徑
echo 可用托拉檔案方式建立路徑
:end
echo done.
echo.
pause----------------------------------------------------------------------------------------------------------
參考資料
Using compc, the component compiler
Using the ASDoc tool
Creating ASDocs for Custom Adobe AIR Components
沒有留言:
張貼留言