內容簡介
Flash ActionScript(AS)3.0是一種功能強大的麵嚮對象的編程語言。當前,網絡遊戲、網絡特效、互動廣告的火爆帶動瞭它的應用和開發。《Flash AS 3.0 動畫編程(基礎與提高)》以ActionScript 3.0程序設計為主綫,從動畫編程的角度介紹瞭flash動畫的製作與開發。全書由三大部分組成:一部分為AS 3.0語言基礎,介紹瞭ActionScript 3.0的基本語法、事件偵聽機製、類的設計與應用;第二部分為AS 3.0動畫編程基礎,內容涵蓋Flash動畫基礎知識、flash動畫中的顯示編程及交互編程技術;第三部分為AS 3.0動畫編程提高,內容涉及動畫製作中從簡單運動到復雜運動的諸多內容。《Flash AS 3.0 動畫編程(基礎與提高)》特大特色是對動畫編程附以大量程序範例進行講解,使讀者的學習能夠輕鬆而高效,並在此基礎上做齣優秀的動畫作品。
《Flash AS 3.0 動畫編程(基礎與提高)》知識係統、範例豐富,每章配備提高思考題,既適閤作為Flash ActionScript的初中級讀者的教材或自學教材,也適閤作為各級培訓讀本。
內頁插圖
目錄
第一部分 AS3.0語言基礎
第1章 簡介
1.1 AS 3.0簡介
1.2 FlashCS3IDE介紹
1.3 一個.AS 3.0實例
第2章 基本語法
2.1 變量與常量
2.2 數據與數據類型
2.3 運算符與錶達式
2.4 數組
2.5 程序結構與函數
第3章 麵嚮對象與類
3.1 類、對象、屬性和方法
3.2.AS 3.0類的架構
3.3 類的使用
3.4 自定義類
3.5 常見內建類
3.5.1 頂級包
3.5.2 flash display包
3.5.3 flash. media包
3.5.4 flash.net包
第4章 事件偵聽機製
4.1 事件與事件偵聽
4.2 常用內置事件類
第二部分 AS3.0動畫編程基礎.
第5章 Flash動畫簡介
5.1 動畫與動畫原理
5.2 “靜態”動畫與“動態”動畫
5.3 Flash動畫中的坐標係統
5.4 角與角度、鏇轉
第6章 顯示編程
6.1 顯示列錶
6.2 渲染
第7章 用戶交互
7.1 鼠標事件及響應
7.2 鍵盤事件及響應
7.3 移動物體
第三部分AS3.0動畫編程提高
第8章 簡單運動
8.1 速度與加速度
8.2 環境邊界與摩擦力
8.2.1 環境邊界
8.2.2 摩擦力
第9章 復雜運動
9.1 簡單緩動與高級緩動
9.2 彈性運動
9.3 碰撞檢測
9.4 坐標鏇轉與角度迴彈
9.5 質量、動量與動量守恒
9.5.1 質量
9.5.2 動量
9.5.3 動量守恒
9.6 粒子係統
9.7 關節運動
9.7.1 正嚮運動與反嚮運動
9.7.2 正嚮運動的編程
9.7.3 反嚮運動的編程
第10章 3D動畫
10.1 從一維、二維到三維
10.2 3D綫框模型與填充
10.3 消隱與3D燈光
10.3.1 消隱技術
10.3.2 3D燈光
第11章 其他動畫技巧
11.1 隨機運動
11.2 隨機分布
11.3 基於定時器的動畫
11.4 基於時間的動畫
參考文獻
精彩書摘
動畫原理基於運動視覺駐留現象(17ersistence of Vision)。也就是說人的眼睛看到一幅畫麵或一個物體後,在1/24秒內不會消失。利用這一原理,在一幅畫麵還沒有消失前播放齣下一幅畫麵,就會給人造成一種流暢的視覺。這裏所說的畫麵即幀,它是動畫的最小元素。
“靜態”動畫指的是每次播放動畫看到的都是同樣的內容,動畫從不改變,從頭到尾,每幀都是預定義好的。如果每次播放動畫,看到的都是不同的畫麵,那就是“動態”動畫。比如:通過對物體設置隨機的位置、方嚮、速度得到的物體動畫就是一種簡單的“動態”動畫。通過用戶交互得到的動畫也是一種“動態”動畫。使用腳本語言可以編寫“動態”動畫,但腳本編寫的動畫未必都是“動態”動畫,它也可以是“靜態”動畫。
Flash支持笛卡兒二維坐標係統。但它和標準的二維坐標係統在布局上有所差彆,它是通過舞颱坐標係來體現的。Flash坐標係統基於視頻屏幕的坐標係統。坐標係的原點(0,0)在舞颱的左上角,嚮右為x軸的正方嚮,嚮下為y軸的正方嚮,如圖5-1所示。坐標的計數單位為像素。
前言/序言
我在美國從事動畫行業的實際工作和教學科研多年,一直感到一個國傢産業的發達,必然和它的人纔培養體係密不可分。在教學體係中,優秀的教師不可或缺,而一套好的教材對於動畫教育是如此之重要,它關係到培養齣來的學生是否能成為業界有影響力的骨乾和實乾人纔,因而直接關係到産業的發展。舉個例子,我在美國FOX藍天製片廠多年,在帶領由世界各地匯集的優秀藝術和技術人纔組成的團隊,忘我地實現藝術夢想,變不可能為可能的那些日子裏,廠裏製片的任務再緊張,手下的專傢也會抽時間定期去給諸如紐約大學這樣的世界著名學府講授動畫專業課程。在第78屆奧斯卡頒奬晚會上,我紐約大學的校友和同事們大放異彩,除瞭校友李安獲最佳導演等三項金奬外,還有校友獲最佳男主角奬、最佳女主角提名、最佳編劇提名,動畫係的教授還奪得瞭最佳動畫短片奬,這樣的輝煌成就也就不足為奇瞭。這個例子說明,有這麼優秀的師資,帶著滿腹的經驗積纍,熏陶齣一批有成就的學生可謂水到渠成。其實培養創意階層的工作,比自己齣成就要難得多,因而更富於挑戰,意義也更大,獲得的滿足感更強。當我輾轉到紐約大學後,一待就是五年,發現美國的動畫教學體係,特彆是現代三維動畫教材,的確有過人之處。
留美十八年後迴到祖國的我,一方麵為國內轟轟烈烈興起的發展動畫和文化創意産業的熱潮而感到歡欣鼓舞;一方麵也為人纔缺乏、師資不足、教材空白而感到擔憂。不閤格的師資需要逐步培養提高,而教材缺失的嚴重性更加令人睏擾。嚴肅認真地編寫一些好的教材,是擺在我們從事動畫教育工作者麵前刻不容緩的任務,也是我們高等院校為發展中國動畫産業應盡的責任。正是基於對動畫産業發展的美好遠景充滿信心,在責任心和使命感的驅動下,我們組織編寫瞭“高等院校動漫設計係列教材”,得到瞭清華大學齣版社和北京交通大學齣版社的大力支持。本套教材以動畫係第一綫的專業教師為主體,在專傢的精心指導下編寫。本係列教材第一批包括《動畫概論》、《動畫編劇》、《動畫角色設計》、《動畫場景設計》、《三維動畫技法》、《三維動畫建模》、《三維動畫特效》、《動畫後期非綫性編輯》、《動畫後期數字閤成》等十多本教材,此外,還將陸續推齣《動畫製片》、《世界動畫史》、《動畫聲音》、《經典動畫賞析》、《動畫視聽語言》、《動畫專業英語》等。“高等院校動漫設計係列教材”是現代動畫,特彆是三維動畫教科書的完整係列,力求係統而實用。我們希望這套教材能夠為我國動畫教育添磚加瓦。無論大學或是培訓學校、專業或是業餘愛好,麵對他們的期待,我們力圖緩解教材的嚴重不足所造成的燃眉之急,也誠懇地希望各界專傢、學者和讀者提齣寶貴批評意見,以便我們共同努力,不斷改進教材質量,適應時代變化。
我們的時代是創意的時代、體驗的時代,21世紀不是停留在概念上的創意時代,數字化的生活已經讓我們真真切切感受到瞭科學技術的藝術魅力。日新月異的計算機技術、網絡技術、傳媒手段,使人們衝破自身局限、地域屏障,更大膽地暢想,更藝術地實現,更準確地交流,更廣泛地共享。利用現代傳媒手段和時尚藝術形態,包括數字動畫、網絡遊戲,我們不僅傳遞瞭信息,傳播瞭文化,更重要的是錶達瞭思想,感悟瞭人性。
動畫魔術師的秘密:掌握Flash AS 3.0,點亮你的創意無限 在這個視覺錶達日益重要的時代,動畫已不再是遙不可及的奇幻世界,而是我們生活中不可或缺的溝通方式。從引人入勝的遊戲體驗到寓教於樂的教育內容,再到傳播品牌價值的生動廣告,無處不見動畫的魅力。而在這場視覺盛宴的背後,強大的編程語言扮演著至關重要的角色。本書將為你揭開Flash AS 3.0動畫編程的神秘麵紗,帶領你從零開始,一步步成為數字動畫的魔法師,用代碼賦予你的創意生命。 告彆枯燥,擁抱創造:為什麼選擇Flash AS 3.0? 或許你曾被精美的動畫所吸引,夢想著親手創造屬於自己的動畫角色和故事,卻苦於無從下手。或者你已經具備瞭一定的美術基礎,渴望將二維的畫麵轉化為動態的視覺奇跡。Flash AS 3.0,作為Adobe Flash Professional(現Adobe Animate)的核心編程語言,正是你實現這些夢想的最佳夥伴。它以其強大的功能、靈活的語法和廣泛的應用領域,成為瞭動畫設計、遊戲開發、交互式媒體製作等諸多領域的首選工具。 相較於傳統的逐幀繪製,AS 3.0動畫編程能夠讓你實現更復雜的動畫效果、更精細的角色控製、更豐富的交互體驗,同時大大提升開發效率。它讓你能夠擺脫繁瑣的手動調整,通過邏輯和算法來驅動動畫的生成,釋放齣前所未有的創意潛能。無論你是想讓一個簡單的圖形隨著音樂跳動,還是想構建一個擁有復雜NPC行為和玩傢互動的遊戲世界,AS 3.0都能為你提供強大的支持。 從入門到精通:一步一個腳印的成長之路 本書並非簡單羅列AS 3.0的語法和函數,而是精心設計瞭一條從基礎到提高的完整學習路徑。我們深知,理解編程語言的關鍵在於掌握其核心思想和實際應用。因此,每一章都將理論與實踐緊密結閤,通過大量精心設計的示例,讓你在動手操作中學習、理解和鞏固知識。 第一階段:築牢基礎,開啓編程之門 在學習的伊始,我們將為你打下堅實的AS 3.0編程基礎。你將首先接觸到AS 3.0的基本語法,包括變量、數據類型、運算符、條件語句、循環語句等。這些是構建任何程序的基礎,我們將通過通俗易懂的語言和貼近實際的例子,幫助你快速建立起編程思維。 變量與數據類型: 學習如何存儲和處理各種信息,比如數字、文本、布爾值等,理解不同數據類型的應用場景。 運算符與錶達式: 掌握如何進行數學運算、邏輯判斷以及字符串操作,這是構建復雜邏輯的前提。 控製流語句(條件與循環): 學習如何根據不同的條件執行不同的代碼塊,如何重復執行某段代碼,這是讓動畫動起來的關鍵。 函數與方法: 理解代碼的模塊化思想,學習如何封裝代碼以提高復用性和可讀性,讓你的程序更易於管理。 對象與類: AS 3.0是麵嚮對象的語言,我們將詳細講解對象和類的概念,以及如何創建和使用自定義對象,為後續更復雜的動畫製作奠定基礎。 在此基礎上,我們將引導你接觸Flash Professional(Adobe Animate)中的AS 3.0集成環境,讓你瞭解如何在IDE中編寫、編譯和運行你的AS 3.0代碼。你將學會如何創建顯示對象,比如矩形、圓形、文本框,並學習如何對它們進行基本的操作,例如改變位置、大小、顔色等。 第二階段:動畫核心,讓畫麵活起來 掌握瞭基礎語法後,我們將正式進入AS 3.0動畫編程的核心領域。你將學會如何利用AS 3.0來控製顯示對象的運動、變形和漸變,創造齣各種令人驚嘆的動畫效果。 顯示列錶與坐標係統: 深入理解Flash舞颱的坐標係統,學習如何精確定位和控製顯示對象在舞颱上的位置。 幀動畫與時間軸控製: 學習如何通過AS 3.0來控製Flash時間軸的播放,實現逐幀動畫的精確控製,以及如何創建循環和跳轉。 Tween動畫(補間動畫): AS 3.0強大的Tween類讓你能夠輕鬆實現平滑的運動、鏇轉、縮放和透明度變化。我們將詳細講解如何使用 `TweenLite`、`TweenMax` 等流行的第三方庫,它們能夠極大地簡化補間動畫的製作,並提供更豐富的功能,例如緩動函數(Easing Functions)的應用,讓動畫過渡更加自然流暢。 事件處理與用戶交互: 動畫的魅力在於互動。你將學會如何響應用戶的鼠標點擊、鍵盤輸入等事件,讓你的動畫作品具備交互性,例如按鈕點擊觸發動畫播放,拖拽對象等。 聲音與視頻集成: 學習如何在AS 3.0中控製聲音的播放、停止、音量調節,以及如何嵌入和控製視頻的播放,為你的動畫作品增添聽覺和視覺的豐富性。 第三階段:進階技巧,塑造專業級作品 當你的AS 3.0編程技能日益精進,我們將帶你探索更高級的動畫技術和更專業的應用。你將學會如何構建更復雜的動畫係統,創造齣更具錶現力的視覺效果。 位圖與矢量圖處理: 學習如何加載、處理和動態生成位圖和矢量圖,以及如何通過AS 3.0實現圖像的濾鏡效果、濛版效果等。 遮罩(Mask)與剪切(Clip): 掌握如何利用遮罩和剪切功能,創造齣更具藝術感的視覺效果,例如文字從圖片中顯現,或者物體在特定區域內顯示。 粒子係統: 學習如何利用AS 3.0模擬粒子效果,如火焰、煙霧、雨雪等,為你的動畫增添動態的細節和氛圍。 文本動畫與排版: 探索如何利用AS 3.0進行動態文本的生成、樣式設置以及各種酷炫的文本動畫效果,讓你的信息傳遞更具吸引力。 數據驅動動畫: 學習如何將外部數據(如JSON、XML)讀取到AS 3.0中,並根據數據動態生成動畫,實現數據可視化和動態圖錶的製作。 性能優化與內存管理: 隨著動畫的復雜性增加,性能問題也隨之而來。我們將分享一些實用的性能優化技巧,幫助你寫齣高效、流暢的AS 3.0代碼。 第三方庫的應用: 除瞭前麵提到的Tween庫,我們還會介紹其他一些常用的AS 3.0第三方庫,它們能夠幫助你更高效地實現某些復雜功能,例如骨骼動畫、物理引擎等。 超越書本,點亮你的創作之路 本書不僅僅是知識的傳授,更是激發你創作熱情的火種。我們相信,編程的力量在於它能夠讓你將腦海中的奇思妙想變為觸手可及的現實。通過本書的學習,你將獲得: 獨立完成動畫項目お能力: 從簡單的動態圖形到復雜的交互式應用,你將能夠獨立完成各種規模的動畫項目。 更強的邏輯思維與問題解決能力: 編程過程本身就是一種思維訓練,你將學會如何分析問題、拆解問題,並找到最優的解決方案。 廣闊的職業發展前景: 掌握AS 3.0動畫編程技能,將為你打開通往遊戲開發、網頁設計、動效製作、VR/AR內容開發等領域的大門。 釋放無限創意: 最重要的是,你將獲得一種全新的錶達方式,用動態的視覺語言來講述你的故事,分享你的想法。 適閤人群: 在校動漫、設計、計算機相關專業的學生: 本書可以作為你的專業教材,係統學習AS 3.0動畫編程。 有誌於從事動畫、遊戲開發、UI/UX設計的初學者: 即使你沒有編程基礎,本書也會帶你一步步入門。 已掌握基礎美術或設計技能,希望提升動態錶現力的設計師: 將你的設計作品賦予生命,提升作品的商業價值。 對Flash AS 3.0動畫編程感興趣的任何人: 隻要你充滿好奇心和求知欲,都能從本書中獲益。 翻開本書,你將不再是旁觀者,而是動畫世界的創造者。讓我們一起,用Flash AS 3.0,點亮你的創意無限,譜寫屬於你的數字動畫傳奇!