標籤:影像處理 遊戲 actionscript 3.0 編程 圖書
1946年,電腦在第三次工業革命的推動下得以誕生並發展。從此地球上多了一類人,他們的世界很簡單,每天不是和0接觸,就是跟1來往。他們低調做人,高調做事,他們務實為民,不求名利,他們,就是可愛可人,可歌可泣的IT工作者——程式員!
都說程式員不善表達,沒錯,離開0和1,程式員就幾乎不會說話了。與此同時,程式員也恰恰是最善於表達的人,他們只用0和1這兩個數字,就可以準確無誤地將使用者的需求傳達給電腦並使其正確運行,其語言之簡煉,其演算法之精準,其邏輯之嚴謹,其結果之準確,試問除了程式員,還有誰可以做得到?因此,與其說程式員不善表達,還不如說是外行人沒讀懂程式員的世界。
曾經有不知多少個夜晚,255這個數字讓我輾轉反側,徹夜難眠。對於程式員來說,255是個神聖的數字,是一個8位二進位位元組可以表示的最大整數,它代表了飽滿,象徵著完美,是程式員至高無上的追求。但每當別人問起我最近在忙啥,我都愣住了,為255翻滾的思緒總是難以言表。因為我心裏面很明白,在他們眼裡,255隻是個再普通不過的數字而已,真要說給他們聽,不是換來朋友的不解,就是招來旁人的嘲諷。
然而,讓我感到欣慰的是,隨著數位影像技術的日益發展,代碼已經不再是程式員的專利,255也逐漸走上藝術的舞台為人所知,它既可以描繪漫天飄雪的北國風光,也可以抒發櫻花綻放的浪漫情懷,既能讓你馳騁在一馬平川的綠野平原,也能使你陶醉於寧靜深邃的碧海藍天......所有這些夢境般的畫面,都有著一個共同點:至少有一種顏色的光會100%地反射到我們的眼球,而在電腦映像領域,用於表示100%的,正是這個代表完美的數字——255!
就這點而言,無論是對美術一竅不通的程式員,還是對程式涉足尚淺的設計師,乃至與這兩行業都絕緣的同胞們,都應擁有“藝術家”這一稱號,因為不懈地追求完美,正是藝術家生活態度的重要體現,而本書更是藝術與科學完美結合的產物。
因此,本書面向的讀者群比較廣泛,只要您熱愛生活,或者喜歡藝術,抑或擁有一顆追求完美的心,就一定可以在本書中找到適合自己的內容,而且本書的重點在於講解藝術編程的思想,無論是站在藝術的角度來詮釋,還是從技術的層面來解讀,本書都經得起時間的考驗和世俗的漂染。它不會因為手遊市場的異軍突起而備受冷落,不會因為html5的橫空出世而迷失自我,更不會因為軟體的更新換代而銷聲匿跡。它就像一杯綠茶,香久益清,味久益醇,每個時代都賦予它不同的氣息,彌散於地球的每一個角落,給這個浮躁的社會開闢了一片又一片的淨土。
可見,藝術是一個很廣泛的話題,我幾乎不可能通過一本書就涉及到藝術編程的方方面面。因此,先選定一個合適的領域,再圍繞相關的技術點逐一展開進行討論,對筆者和讀者而言,思路都會更加清晰。
在IT界,最典型,最受關注的藝術編程形式莫過於遊戲開發了。所以本書會從遊戲中較為關鍵的技術點觸發,向讀者講述自己對藝術編程的一些不太深入的理解,以求拋磚引玉,讓更多的讀者加入到該領域,共同探討程式的精妙與藝術的真諦所在。
本書主要面向傳統FlashPlayer(即Stage3D以前的版本)進行開發,同時會介紹FlashPlayer11的部分新功能對藝術編程的影響及應用領域。讀者不必擔心舊版的功能可能會被淘汰,本書的重點是藝術編程的思想,在藝術的字典裡,只有對經典的詮釋,絕無對過時的遺棄。
在遊戲開發過程中,情境,介面,人物,動畫,特效等美術元素多半通過匯入美術設計師製作好的素材,然後通過程式控制其顯示隱藏,播放暫停,以實現需求中的互動效果。然而,並非所有的美術素材都適合直接匯入到遊戲中,尤其在中國這片沉澱了五千多年漢字文化的土地上,將數以千計,筆劃複雜的字元全部嵌入其中,對於網速尚未發達的天朝來說,將是一個相當致命的舉措。
大多數情況下,開發人員都通過叫用作業系統中的預設字型(裝置字型)來顯示遊戲中的常值內容,但是,這僅有的幾種字型在大多數情況下都過於古板,與活潑生動的遊戲畫面往往不太搭調,而且在目前的電腦作業系統中,裝置字型往往會出現各種較為刺眼的鋸齒,對遊戲的美觀性將造成不同程度的破壞。
因此,調用到裝置字型以後,我們往往需要對其進行一些美化處理,比如消除鋸齒,描邊,變形等等,以提高裝置字型與整個遊戲的融合度。本書就以裝置字型的處理為中心,和大家一起探討映像藝術編程的點點滴滴。
在Windows系統裡,比較常用的有宋體,黑體,楷體,隸書等,宋體過於單薄,而楷體和隸書藝術感稍強,相比之下,字型渾厚有力,且沒有太多修飾的黑體就比較合適了。但黑體也有一些不足,比如邊緣過於生硬,整體感略顯古板,幾經糾結,我決定使用稍加修飾過的,Windows7年代才開始在中國普及的微軟微黑裝置字型來進行圖形處理和特效製作。
言歸正傳,本書屬於中進階編程書籍,所以我會假設您已經具備一定的AS3編程基礎,掌握了AS3的基本文法,並熟悉常用的api,我不會再就這些方面進行詳細而深入的講解。所以,對AS3尚沒有太多瞭解的設計師朋友或者之前使用其他程式語言的開發人員們,在閱讀本書之前,建議先購買一到兩本講解基礎的書以便及時查閱。我個人比較推薦的幾本書有:《ActionScript3.0 Cookbook》、《ActionScript3.0權威指南》、《Flash ActionScript3.0 從入門到精通》、《ActionScript3.0溢彩編程》(該書非常適合設計師閱讀)、《ActionScript3.0影像處理基礎教程》。
此外,在開始閱讀本書之前,我建議讀者先配置好開發的環境,以確保書中的代碼在您的電腦上可以正常編譯與運行,對開發環境配置不太熟悉的朋友可以參閱本書的附錄。
一切準備就緒,藝術編程之旅正式啟航!