實戰Flash遊戲開發

實戰Flash遊戲開發

《實戰Flash遊戲開發》細緻深入地闡述了Flash 遊戲開發的完整過程,尤其針對Flash CS4與ActionScript 3,展開介紹了如何充分調動各種元素,簡化流程,高效創建有用代碼,進而開發製作出高水準的Flash遊戲。

基本信息

內容簡介

Flash因其外掛程式檔案尺寸小、性能優異而得到全球網民的青睞,這也使得Flash成為網路休閒遊戲開發的首選平台。

遊戲開發融合了很多技術與表現風格,除了要有高質量的代碼、迷人的藝術設計和良好的用戶界面,更重要的一點是要讓玩家覺得好玩。本書教會讀者利用Flash設計出這樣的遊戲。作者以自己十多年的Flash開發經驗為基礎,總結了一些實用的遊戲開發原則,並將遊戲開發基本術語和概念、整個遊戲流程的規劃、音頻和可視化資源的管理以及遊戲邏輯處理、一些代碼及庫的組織方式以及Flash移動開發的內容,都囊括在這本書中,極具學習和實用價值。

本書在第一版的基礎上進行了全面修訂,加入了包括移動開發在內的很多高級內容,適合所有Flash開發人員。

書籍目錄

第1章 計算機科學並不適合所有人

1.1 一些基礎知識

實戰Flash遊戲開發 實戰Flash遊戲開發

1.2 常見遊戲類型

1.2.1 冒險類遊戲

1.2.2 動作類遊戲

1.2.3 益智解謎類遊戲

1.2.4 辭彙類遊戲

1.2.5 策略與模擬經營類遊戲

1.2.6 角色扮演遊戲

1.2.7 駕駛類遊戲

1.2.8 桌面式和卡牌式遊戲

1.3 常用開發術語

1.3.1 偽碼

1.3.2 算法

1.3.3 過程式編程

1.3.4 面向對象編程

1.3.5 設計模式

1.3.6 類

1.3.7 Public、Protected、Private和Internal

1.4 遊戲特有的開發術語

1.4.1 人工智慧

1.4.2 遊戲循環(或者說“主循環”)

1.4.3 遊戲視角

1.4.4 捲動背景

1.4.5 區塊式遊戲

1.5 Flash程式開發術語

1.5.1 舞台

1.5.2 顯示對象

1.5.3 事件和偵聽器

1.5.4 包

1.5.5 創作時事件、編譯時事件及運行時事件

1.6 醒一醒

第2章 最佳編程工具

2.1 倒敘幾句

2.2 Flash的一些優點

2.2.1 玩家占有率

2.2.2 靈活性

2.2.3 上市速度

2.2.4 美觀性

2.3 白璧微瑕

2.3.1 缺點:代碼編輯器

2.3.2 解決方案:使用附加工具

2.3.3 缺點:性能及記憶體管理

2.3.4 解決方案:使用第三方解決方案或自己創建

2.3.5 缺點:內容調試

2.3.6 解決方案:使用跟蹤輸出與自定義工具

2.3.7 缺點:缺乏內建遊戲庫

2.3.8 解決方案:自己開發工具或尋找開源工具

2.4 不要和Flash對抗

2.5 Flash所能創建的內容

2.5.1 動畫與遊戲

2.5.2 應用程式與遊戲

2.5.3 Flash與Flex

2.5.4 網站與遊戲

2.5.5 Flash與傳統遊戲開發

2.6 最佳創作工具

第3章 一份計畫抵得上千片阿司匹林

3.1 用一兩句話來描述遊戲

3.2 為包含所有遊戲界面的遊戲流程列出提綱或繪製線框圖

3.3 概述遊戲所使用的核心機制

3.4 列出所需的資源清單

3.5 列出遊戲所需的技術清單

3.6 用UML建模工具設計類圖(可選)

3.7 規劃步驟的快速回顧

第4章 //太棒了!

4.1 適當的提醒 部分1 類

4.2 包

4.3 類就像檔案一樣

4.4 構造函式

4.5 常量、變數與方法

4.6 getter與setter方法

4.7 類標識符

4.8 繼承與多態

4.9 接口

4.10 將Flash 中的資源與類連結起來

4.11 類與基類

4.12 使用沒有類檔案的導出元件

4.13 getDefinitionByName與Casting

部分2 事件

4.14 dispatchEvent方法

4.15 addEventListener方法、removeEventListener方法以及事件流程中的各階段

4.16 事件的傳播與取消

4.17 自定義事件

部分3 錯誤

4.18 try、catch、finally

4.19 自定義拋出錯誤

部分4 數據結構與列表

4.20 Object

4.21 數組

4.22 Vector

4.23 Dictionary

4.24 ByteArray

4.25 到底該使用哪種列表

4.26 自定義數據結構

部分5 讓所有人都能讀懂你的注釋

4.27 底線

部分6 Flash為什麼會這么做

4.28 事件流程

4.29 幀腳本

4.30 使用多個SWF檔案

4.31 記憶體垃圾回收

4.32 本章小結

第5章 管理資源與使用圖像

5.1 小議組織庫元件

5.2 使用圖像

5.3 常用的光柵圖像格式

5.3.1 壓縮

5.3.2 平滑

5.3.3 解塊

5.3.4 外部的圖像編輯工具

5.4 要點

第6章 讓它動起來:ActionScript動畫

6.1 幾個術語

6.1.1 緩動

6.1.2 序列

6.2 是否補間?這是個問題

6.3 一個由腳本驅動的簡單射擊遊戲

6.3.1 Projectile類

6.3.2 SimpleShooter類

6.4 記憶力遊戲:補間動畫

6.4.1 MemoryCard類

6.4.2 Memory類

6.5 本章小結

第7章 如雷貫耳:如何使用音頻

7.1 常用音頻格式

7.2 常用導出設定

7.3 使用外部檔案

7.4 聲音編輯工具

7.5 編寫音效腳本

7.5.1 理解與聲音有關的類

7.5.2 SoundEngine類

7.5.3 使用SoundEngine類

7.5.4 SoundMixer類

第8章 重塑“視頻遊戲”

8.1 視頻編解碼器

8.2 外部視頻套用:過場與選單

8.3 CutsceneManager類

8.4 時間軸上的視頻

8.4.1 檔案尺寸

8.4.2 庫:易於使用與雜亂無章

8.4.3 性能表現

8.4.4 自由的動態模糊

8.5 建立內部視頻

8.6 本章小結

第9章 XML與動態內容

9.1 引入數據:理解URLLoader類

9.2 XML

9.3 E4X

9.4 縱橫字謎

9.4.1 CrosswordTile類

9.4.2 CrosswordClue類

9.4.3 CrosswordPuzzle類

9.5 內容並非只有現成的:縱橫字謎編輯器

9.6 數據傳送

9.7 示例:XML與Flash Vars的套用對比

9.8 本章小結

第10章 就是一個詞兒:數學

部分1 Math類

10.1 幾何學及三角學

10.2 簡要介紹一下弧度與pi值

10.3 Flash中的3D

13.1.1 位置

13.1.2 旋轉

13.1.3 透視投影

10.4 簡單的TunnelShooter範例

10.4.1 基本機制

10.4.2 所需類檔案

10.4.3 Tunnel類

部分2 物理學

10.5 標量

10.6 矢量

10.7 Vector3D類

10.8 位移

10.9 速度

10.10 加速度

10.11 摩擦力

10.12 慣性

10.13 物理仿真與假象

10.14 真實性與期望值

10.15 範例:頂視角的驅動引擎

10.15.1 Vehicle類

10.15.2 Time類

10.15.3 Game類

10.16 範例:頂視圖且帶有漂移效果的賽車遊戲

10.17 本章小結

第11章 別碰我

11.1 能力與需求

11.2 hitTestObject——最基本的檢測方法

11.3 hitTestPoint——更先進的檢測方法

11.4 半徑/距離檢測法——極適合圓形的檢測方法

11.5 矩形框線檢測法

11.5.1 新的Enemy 類

11.5.2 SimpleShooterCollisions類所新增的內容

11.5.3 該方法的一些不足之處

11.6 這些辦法都不靈?那就用雞尾酒療法

第12章 建築師——由來已久的夢想

12.1 OOP概念

12.1.1 封裝

12.1.2 繼承

12.1.3 多態性

12.1.4 接口

12.2 遊戲開發中的實用OOP技巧

12.3 單例模式:一種良好的文檔模式

12.4 本章小結

第13章 驛館閒談

13.1 簡單地進行封裝——類與容器

13.2 將有關數值存儲到變數與常量中

13.3 不要信任舞台

13.4 不要使用不理解或不適用的架構或設計模式

13.5 要把握好向別人展示自己作品的最佳時機

13.6 本章小結

第14章 MixUp——一個簡單的遊戲引擎

14.1 主文檔

14.2 MixUP類

14.3 Title類

14.4 RulesPanel類

14.5 Game類

14.6 接口

14.7 GameBoard類

14.8 SourceImageEmbedded類

14.9 GameHistory類與Results類

14.10 SourceImageCamera類

14.11 本章小結

第15章 技術大融合:製作平台遊戲

15.1 平台類型遊戲

15.2 數據流程

15.3 遊戲流程與功能

15.3.1 遊戲背景設定

15.3.2 關卡設計及牆壁的作用

15.3.3 出口(portal)

15.3.4 玩家角色

15.3.5 物品

15.3.6 敵人

15.4 關卡檔案格式以及資源結構

15.4.1 關卡的XML檔案

15.4.2 資源SWF檔案

15.4.3 遊戲所用類的概述

15.5 引擎類

15.5.1 ISprite接口

15.5.2 IPlayer接口

15.5.3 IEnemy接口

15.5.4 IItem接口

15.5.5 IPortal接口

15.5.6 IWall接口

15.5.7 PlatformerEvent類

15.5.8 PortalDestinations類與PortalRequirement類

15.5.9 PlatformerConfig類

15.5.10 GridReference類

15.5.11 CollisionGrid類

15.5.12 PlatformerEngine類

15.6 遊戲實現類

15.7 資源類

15.7.1 Player類

15.7.2 Enemy類

15.7.3 Item類

15.7.4 Portal類與Wall類

15.7.5 遊戲中的資源

15.8 本章小結

第16章 獨樂不如眾樂:開發多人遊戲

16.1 RTMFP

16.2 Stratus

16.3 MixUp多人遊戲

16.3.1 遊戲所用的類

16.3.2 SourceImageWebCamera類

16.3.3 ConnectionPanel類

16.3.4 Title類

16.3.5 Results類

16.3.6 MixUp類

16.4 本章小結

第17章 找到就幹掉:獵蟲行動

17.1 Bug

17.1.1 trace

17.1.2 FlashTracer

17.1.3 調試器

17.2 性能與最佳化

17.2.1 FrameRateProfiler類

17.2.2 MemoryProfiler類

17.2.3 Sample包

17.3 本章小結

第18章 當心惡賊

18.1 惡意使用

18.1.1 關閉不再需要的事件偵聽器

18.1.2 為所要接受的輸入設定最低延時

18.1.3 一經發現惡意使用就將遊戲關閉

18.2 數據保護

18.2.1 記憶體攻擊

18.2.2 數據的散列加密

18.2.3 拆解數據

18.2.4 插入誤導性數據

18.2.5 保護要傳送與接收的數據

18.2.6 保護傳輸數據安全的散列加密法

18.2.7 矩陣加密法

18.3 SWF檔案保護

18.4 本章小結

附錄A 攝像頭與麥克風

附錄B 本地化

附錄C JSFL——情人們的JavaScript

後記 

相關詞條

相關搜尋

熱門詞條

聯絡我們