星期二, 7月 29, 2008

Flash ActionScript 3殿堂之路

博客來書本簡介

雖然本座程度甚差,但我看過的中文書裡面可以讓我有淋漓暢快,擊節讚賞的感覺不多,用手指頭都可以數出來(作家侯捷大師系列、深入淺出嵌入式系統....),在其中屬於實作型,而不是講理論的更少,所以這本書本座絕對要用網誌記他一筆,留作永恆的紀念(噁)

看這本書的理由是想學好flash,想學好flash的理由有兩個:最近嘗試接一些程式設計的案子(我媽說當作社會經驗也好...),flash這塊處於蠻特殊的位置。一般使用flash的多是美工設計人員,美工設計人員據說會用Actionscript 2的就很罕見了。而一般程式設計師對於flash AS如時間軸、視覺設計等一般OOP不常見的設計方法多感生疏(因為那些東西是為了美術的需求做出來的....)。所以根據ptt CodeJob某大大的說法,擅長Flash + AS3的似乎比會PHP + MySQL的還難找。而現在有不少人對於用Flash + AS3開發有興趣,所以會flash我認為是有價值的技術。

第二個理由就是雖然我曾經使用Flex開發學校需要的病理瀏覽程式,不過感覺我對AS的架構、Flex / Flash的Class library、MXML等掌握的感覺都不是很好,看doc基本上都像霧裡看花,能用但是總覺得無法確實掌握他設計的動向(說實在C++的STL還好懂點=.=)。我曾經很有勇氣的把Flex SDK裡面的Class Library拿出來看,但很軟弱的看大約1000行我就決定放棄了,看不懂orz

遇見這本書的過程算碰巧,大約四點半的時候我妹和我媽都要用點腦,然後看The C++ programming language的STL又看的有點煩(sort、partial sort、istream、ostream、type traits....真的很繁瑣orz,雖然我還是一定會把它看完),想看看附近的何嘉仁有沒有開,結果雖然有颱風假,可是他卻沒有休息,所以我就進去找書。找書的目標是flash,不過純粹就只是想看看flash作為一個美術工具要怎麼使用,看AS的目的也只是純粹想研究怎麼用AS操作影片而已。然後「啊,有專門講AS的書啊」很巧的打開了這本。

雖然沒有全部看完,這本書的特色,就是作者同時懂AS「程式」和「美術」的兩面。一般的AS書有兩種,第一種,給100個範例,「如何製作動畫滑鼠」「如何讓畫面下雪」然後給code sample,這樣是可以學會怎樣製造出一個會動的東西,但總覺得只學了個皮毛,Flash/Flex那華麗的物件樹要怎麼解釋?為甚麼Adobe在研發AS3的時候要放棄和AS2的相容性?統統不知道。第二種書就很正規的講變數使用、流程控制、異常處理、物件導向的封裝、繼承,Flex內建的class怎麼用等等,視覺設計則用「快快樂樂拉範例」帶過,但這樣只能算是語法的講解,學的也不是很深。

這本書講的如何深?譬如一般的AS書不會講解Flex Class Library基底類別的由來,這本書卻揭開歷史,「這些基底類別原本在Flash的AS2中都屬於MovieClip這個類別,可是因為他介面太過龐大,所以被分割成好幾個抽象類別,根據能不能作為容器分一次,子類別再根據XXX分一次....和.Net的YYY比起來,我認為Flex 的工程師,在這裡做的比較好,理由zzzzzz」(相對的,一般的書跟你講講最下面的class怎麼弄就謝天謝地了)。一般的書會講視覺設計,AS就講的不深,AS講的很多,視覺設計就馬馬虎虎。但這本書卻可以頗開Flash本身畫元件的順序、座標軸系統、向量圖點陣圖的顯示,可以比較AS2和AS3 rendering的不同,Flash包出來的影片,怎樣弄到flex裡面用......從前覺得美工用的flash AS和程式設計用的AS好像是兩樣截然不同東西,經過這位作者講解就能夠通盤的整合了。

除此之外,作者文筆生動、妙筆生花也是推薦理由之一,「這個MovieClip,介面有一百多個function,懂OOP的就知道這多麼臃腫不堪,設計錯誤,MovieClip這個class是從哪裡來?往上一看赫然是原始天尊:Object!!」(文字可能有所出入,但原始天尊原文一定有XD),免除了教科書常見的枯燥氣息,閱讀十分愉快XD


明天再去看wwwwwwwwwwww。 全文連結

0 意見: