製作Flash動畫的時候如果有用到Flash的動態文字, 可能在發佈的時候會發生超級膨脹的情形!

明明很小的原始fla檔, 也沒用到太多點陣圖, 但是發佈之後硬是變成了好幾MB, 阿被昨天就發生了這情形, 做的的Flash動畫放到網站主機之後, 開瀏覽器要預覽硬是只能看到空白畫面, 才發現原來是檔案竟然變成了超過5MB, 剛開啟瀏覽器時根本來不及下載。

因為是從範本學習來的Flash檔案, 仔細研究, 原來是動態文字在搞鬼!

動態文字因為可以在執行過程變更內容, 所以提供了一個"內嵌字體"的功能, 如果在設計時有使用到非系統內定字型的中文字型的時候, Flash會很聰明的把該字型的整個字型檔設定為內嵌在swf裡面, 這樣在 swf 執行時不管動態文字怎麼變, 都可以有正確的字型可以顯示!

 

不過如果動態文字的文字內容是在一個固定的內容做變化, 例如動態文字的內容固定會取"今天四川大地震, 規模更勝台灣921大地震"(是的, 今天真的發生四川大地震)來做變化的話, 那就沒必要把整個字型檔全部放進去。

例如上例, 如果以"文鼎粗黑"作為字型, 就可以點選"內嵌字體"的按鈕, 先把Flash自動選取的文鼎粗黑中文字型檔取消, 然後在"包含下列字元"底下的文字框裡填入"今天四川大地震, 規模更勝台灣921大地震". 這樣就只會取文鼎粗黑的字型檔裡面的"今天四川大地震, 規模更勝台灣921大地震"這些文字的字型資料嵌入到 swf 檔裡面, 而不會把整個數MB的字型檔全部份進去!

 

經過這樣的瘦身, 原本膨脹到超過5MB的 swf 成品, 就變成不到 50kb了, 瘦身效果真的不錯喔!

奇怪的是, 最近阿被為了做網頁, 已經臨時抱佛腳猛K了好幾本新舊的 Flash的書, 其中也有提到動態文字的, 卻完全不記得有任何一本書提到"內嵌字體"的問題, 不知道是現在的電腦書品質真的太差, 只會挑簡單得來說明, 還是自己記性真的太差了!  = =

 

那"靜態文字"有需要調整"內嵌字體"來瘦身嗎? 其實因為靜態文字的內容並不會在 swf 的執行階段變動, 所以Flash會很聰明的只挑選靜態文字的內容所用到的字型檔的部份內容來嵌入 swf 檔中, 並不會把整個字型檔塞進 swf 裡頭, 所以如果是靜態文字就不用操心了, 靜態文字也根本沒"內嵌字體"這個按鈕可以進去設定!

arrow
arrow
    全站熱搜

    天秤女~佳佳 發表在 痞客邦 留言(0) 人氣()