本書通過目前流行的高級編程語言——Java語言來介紹游戲程序設(shè)計的相關(guān)知識,并通過案例講解的方式由淺入深地介紹游戲設(shè)計各個環(huán)節(jié)的基本理論和方法。
全書共13章,分別介紹了計算機游戲的發(fā)展及游戲設(shè)計的基本流程,游戲的基本框架和運行機制;圍繞一個2D橫版動作游戲案例詳細闡述游戲設(shè)計的具體細節(jié),內(nèi)容涉及游戲場景創(chuàng)建、游戲角色設(shè)定、場景和角色的交互、游戲關(guān)卡設(shè)計、游戲音樂的播放及簡單人工智能的實現(xiàn)等;分別介紹手機游戲設(shè)計及游戲設(shè)計工具Greenfoot,并對幾個游戲案例的設(shè)計過程進行了詳細講解。
本書適合作為本科院校及大專院校的教材,也可供職業(yè)技術(shù)學(xué)校和各游戲培訓(xùn)機構(gòu)使用。此外,本書也適合對游戲程序設(shè)計及Java程序設(shè)計感興趣的讀者閱讀。
通過具體的程序案例來講解游戲設(shè)計的具體方法,應(yīng)用性和操作性很強,基礎(chǔ)入門、容易掌握理解。
目 錄
第1章 計算機游戲概述 1
1.1 計算機游戲的發(fā)展歷史 2
1.2 計算機游戲的基本類型 3
1.3 計算機游戲的本質(zhì)及特征 13
1.4 計算機游戲的主要功能 14
習(xí)題 15
第2章 游戲設(shè)計的基本流程 16
2.1 游戲策劃 17
2.2 游戲美術(shù)設(shè)計 19
2.3 游戲音頻設(shè)計 21
2.4 游戲程序設(shè)計 23
2.5 游戲測試 25
習(xí)題 26
第3章 游戲程序的基本框架 27
3.1 Java2D圖形繪制簡介 28
3.1.1 坐標(biāo)系統(tǒng) 28
3.1.2 圖形處理類 28
3.1.3 繪制幾何圖形 29
3.1.4 填充圖形 32
3.1.5 圖形變換 34
3.2 構(gòu)建游戲循環(huán) 35
3.3 雙緩沖機制 36
3.3.1 離屏繪制 37
3.3.2 前屏顯示 37
3.4 游戲的運行框架 38
3.5 設(shè)置幀速率 39
3.6 Applet游戲程序框架 41
習(xí)題 42
第4章 游戲的運行機制 43
4.1 游戲中的物體運動 44
4.1.1 模擬勻速直線運動 44
4.1.2 模擬加速直線運動 45
4.2 碰撞檢測 47
4.3 傳遞控制命令 49
4.4 游戲設(shè)計案例一:《貪食蛇》游戲 51
4.4.1 游戲整體設(shè)計 52
4.4.2 貪食蛇的表示 54
4.4.3 繪制貪食蛇 56
4.4.4 食物類的實現(xiàn) 57
4.5 游戲設(shè)計案例二:《打磚塊》游戲 58
4.5.1 游戲整體設(shè)計 58
4.5.2 擋板類的實現(xiàn) 59
4.5.3 磚塊類的實現(xiàn) 60
4.5.4 小球類的實現(xiàn) 62
習(xí)題 67
第5章 游戲場景設(shè)定 69
5.1 Java2D圖像繪制簡介 70
5.2 繪制卷軸型圖像 71
5.2.1 基本繪制方法 71
5.2.2 滾動顯示 72
5.2.3 創(chuàng)建Ribbon類 75
5.3 繪制磚塊型圖像 79
5.3.1 基本繪制方法 79
5.3.2 創(chuàng)建TileMap類 80
5.3.3 滾動顯示 81
5.4 創(chuàng)建完整的游戲場景 84
習(xí)題 88
第6章 游戲角色設(shè)定 89
6.1 精靈的圖像繪制 90
6.2 精靈的移動控制 92
6.3 創(chuàng)建精靈類 96
習(xí)題 100
第7章 角色與場景的交互 101
7.1 概述 102
7.2 玩家角色的運動及控制 103
7.3 玩家角色與游戲場景的碰撞檢測 106
7.3.1 基本原理 106
7.3.2 創(chuàng)建GameWorldManager類 107
7.3.3 調(diào)用碰撞檢測方法 110
7.4 電腦角色的運動及碰撞檢測 112
7.4.1 定義電腦角色的行為 112
7.4.2 設(shè)置電腦角色的初始位置 114
7.5 玩家角色與電腦角色的碰撞檢測 116
習(xí)題 119
第8章 聲音效果設(shè)定 120
8.1 播放音效 121
8.2 播放音樂 124
8.3 為游戲添加動作音效和場景音樂 126
習(xí)題 128
第9章 完善游戲規(guī)則 129
9.1 有限狀態(tài)機模型 130
9.2 玩家角色跳起來“踩”電腦角色 131
9.3 玩家角色發(fā)射子彈攻擊電腦角色 134
9.4 增加玩家角色生命值 138
9.5 顯示玩家生命及游戲分數(shù) 142
9.6 實現(xiàn)簡單的游戲人工智能 144
習(xí)題 147
第10章 游戲關(guān)卡設(shè)計 148
10.1 完善游戲關(guān)卡 149
10.1.1 完善場景的滾動 150
10.1.2 添加敵人和道具 154
10.1.3 添加新的關(guān)卡 161
10.2 添加游戲菜單 163
10.2.1 游戲菜單設(shè)計 164
10.2.2 游戲菜單的顯示 166
10.2.3 游戲的保存與恢復(fù) 169
10.3 設(shè)計關(guān)卡地圖編輯器 172
10.3.1 地圖編輯器總體設(shè)計 173
10.3.2 地圖編輯器詳細設(shè)計 175
習(xí)題 186
第11章 手機游戲設(shè)計簡介 187
11.1 手機游戲概述 188
11.2 手機游戲開發(fā)平臺簡介 189
11.3 手機游戲的程序框架 190
11.3.1 使用WTK設(shè)計手機游戲 191
11.3.2 使用NetBeans設(shè)計手機游戲 195
11.4 設(shè)計《打磚塊》手機游戲 196
11.5 使用游戲生成器創(chuàng)建手機游戲 201
習(xí)題 205
第12章 游戲設(shè)計工具Greenfoot 206
12.1 概述 207
12.2 基本操作方法 207
12.2.1 打開游戲場景 208
12.2.2 添加游戲角色 208
12.2.3 運行游戲 209
12.3 相關(guān)API簡介 210
12.4 編寫游戲程序 213
12.4.1 創(chuàng)建游戲世界 213
12.4.2 創(chuàng)建游戲角色 216
12.4.3 讓游戲角色運動起來 218
12.4.4 處理游戲中的圖像 221
12.4.5 碰撞檢測 226
12.4.6 鍵盤控制 228
12.4.7 鼠標(biāo)控制 229
12.4.8 播放聲音 229
12.4.9 控制游戲的運行 230
12.4.10 導(dǎo)出游戲場景 231
12.5 編程示例 233
習(xí)題 239
第13章 游戲設(shè)計案例詳解 240
13.1 模擬鋼琴游戲 241
13.1.1 基本功能設(shè)計 241
13.1.2 添加更多琴鍵 246
13.2 太空射擊游戲 251
13.2.1 構(gòu)建游戲框架 252
13.2.2 程序結(jié)構(gòu)優(yōu)化 257
13.3 點燈游戲 265
13.3.1 游戲整體設(shè)計 265
13.3.2 各個類的具體實現(xiàn) 267
習(xí)題 273
附錄 Java類庫引用參考 274
參考文獻 296