前言
網頁廣告常限制 20KB 以內,Flash 專案若不加控制輕易超標。以下 10 條源自實戰經驗的優化原則,助你輕鬆壓縮體積。
10 大優化鐵律
- 位圖預處理:在 Photoshop 裁切至最終顯示尺寸、存為 PNG-24/8,絕不在 Flash 內縮放大圖。Flash 會保留原始像素資料,體積暴增。
- 矢量複雜度權衡:原則優先矢量,但邊緣極複雜(如剪紙風、毛邊)的矢量反而比位圖大。此時改用位圖更划算。圓體字比黑體字大、打散文字比未打散大。
- 嵌入字體極慎用:嵌入中文字體動輒 200KB+。僅嵌入必要字符(動態文字面板「字符嵌入」→ 指定範圍),或改用裝置字體(_sans/_serif/_typewriter)。
- 音訊格式選擇:MP3 (48~64 kbps) 比 WAV 小 10 倍以上。短音效可用 ADPCM 或原生聲音格式。
- 元件復用:重複元素(背景圖案、按鈕、粒子)轉為元件(Graphic/MovieClip),多實例共用定義,不增加體積。例外:大量重複且整體移動(如陣列圓點)時,打散為單層形狀反而更小。
- 動畫元件選型:含時間軸動畫的復用元件,**MovieClip 比 Graphic 小**(Graphic 需在主時間軸展開幀數)。
- 避免追蹤位圖轉矢量:
修改 → 位圖 → 追蹤位圖 產生海量錨點,極度膨脹體積。若需矢量風,建議在 AI/PS 手繪簡化路徑。
- 透明位圖優化:大量鏤空透明區(如文字 PNG)會膨脹體積。解法:存帶背景色圖片 + Flash 遮罩層挖透明,或使用
BitmapData.threshold() 運行時鍵控。
- 視頻外部載入:FLV/F4V/MP4 勿內嵌,改用
NetConnection/NetStream 或 `
- 大量文字用裝置字體:文章、新聞列表等大量文字,設定為裝置字體(_sans),不嵌入字形,體積幾乎為零,小字號下銳度更佳。
檢查清單(發布前必做)
- [ ] Ctrl+Shift+F12 發布設定 → 勾選「產生體積報告」
- [ ] 檢查報告中「影片剪輯」「位圖」「字體」「聲音」佔比
- [ ] 單一項目 > 總體積 30% 者,優先優化
- [ ] 測試 GZIP 壓縮後大小(伺服器啟用 gzip 通常再減 30~70%)
進階工具
- SWF 檢視器:
swfdump、JPEXS Free Flash Decompiler 反編譯分析結構。
- 自動化優化:
swfmill、AS3Commons Bytecode 批次處理。
- 現代替代:新專案優先考慮 HTML5 Canvas/WebGL/Lottie,原生無體積困擾。