電腦游戲程序設計(基礎篇), 3/e

耿衛東,梁秀波,張帆

買這商品的人也買了...

商品描述

本書為“十二五”普通高等教育本科國家級規劃教材,著重介紹二維游戲程序設計所需的基礎知識,包括游戲圖像處理、二維游戲場景繪制、游戲交互界面設計、二維動畫合成、碰撞檢測與運動模擬、游戲粒子系統、游戲音效編程、游戲中人工智能、網絡游戲編程、游戲腳本編程等,涵蓋了二維游戲程序設計的主要方面,全書共14章,強調理論與實踐結合,通過游戲實例啟發性地說明游戲編程的相關原理和方法,每個主要章節均配有相應的游戲片段實例,最後一章通過一個完整的綜合實例貫穿了本書的主要知識點和游戲開發要點。本書還有進階篇的配套教材。本書面向的讀者對象是那些已掌握基本的程序設計技能,並立志於從事電腦游戲軟件開發的程序員和游戲開發愛好者。本書既可以作為數字媒體技術、電腦、軟件工程等專業的本科生(研究生)的教材,也可用於游戲學院和各類游戲編程人員培訓班的參考資料,對正在從事游戲開發和製作的相關人員也具有重要的參考價值。

目錄大綱

目 錄
第1章 游戲開發簡介 001
1.1 什麽是游戲 001
1.2 電腦游戲的發展 003
1.3 電腦游戲的分類 006
1.4 電腦游戲開發的基本理念和
方法 011
1.5 游戲開發的基本流程 012
1.6 游戲開發的準則和“忠告” 014
1.7 游戲編程人員的基本素質
要求 016
小結 017
習題1 017
第2章 電腦游戲策劃簡介 018
2.1 電腦游戲策劃的概念和
分類 018
2.2 電腦游戲策劃人員應具備的
素質 019
2.3 電腦游戲策劃基礎 020
2.3.1 游戲規則 020
2.3.2 獎罰機制 021
2.3.3 游戲資源 021
2.3.4 玩家技能 023
2.3.5 反饋機制 025
2.3.6 難度平衡 026
2.4 電腦游戲的策劃與開發
團隊 028
小結 030
習題2 030
第3章 游戲圖像處理 031
3.1 圖像概述 031
3.2 顏色混合和半透明效果 035
3.2.1 基本原理和步驟 035
3.2.2 Alpha融合技術 036
3.3 圖像操作 038
3.3.1 直方圖 038
3.3.2 幾何運算 039
3.3.3 圖像濾波算子 040
3.3.4 形態算子 042
3.4 圖像特效 044
小結 046
習題3 046
第4章 游戲引擎概覽 047
4.1 游戲引擎的提出 047
4.2 常用游戲引擎 048
4.3 Cocos2d-x引擎介紹 052
4.3.1 Cocos2d-x的核心概念 052
4.3.2 Cocos2d-x中的坐標系 056
4.3.3 Cocos2d-x中的用戶交互響應 057
4.3.4 Cocos2d-x的內存管理機制 058
4.3.5 Cocos2d-x中的新增的3D特性 060
4.4 Cocos2d-x開發環境配置 060
4.4.1 Windows下開發環境配置 060
4.4.2 Android開發環境配置 062
4.4.3 iOS下的開發環境配置 066
小結 066
習題4 067
第5章 二維游戲場景繪制 068
5.1 游戲場景的組織和管理 068
5.2 游戲畫面背景 069
5.2.1 二維游戲背景的類型 069
5.2.2 游戲地圖的創建和顯示 070
5.2.3 磚塊地圖 073
5.2.4 磚塊地圖編輯器 074
5.2.5 Cocos2d-x中磚塊地圖的實現 076
5.3 文字與字體 078
5.3.1 字體編輯器 078
5.3.2 Cocos2d-x中的文本繪制 079
5.4 菜單項 082
5.5 擴展控件 086
5.5.1 滾動框 086
5.5.2 滑動條控件 090
5.5.3 開關控件 091
5.5.4 按鈕控件 091
5.5.5 Scale9Sprite 092
5.6 游戲場景繪制實例——英雄
快跑 093
小結 099
習題和實驗 099
第6章 游戲交互界面設計 100
6.1 交互界面設計概述 100
6.2 游戲的可玩性與交互界面 100
6.3 交互界面設計基礎 101
6.3.1 交互界面的色彩設計 101
6.3.2 交互界面的形式 102
6.4 游戲軟件的交互界面設計 107
6.5 Cocos2d-x中的界面設計 108
6.5.1 Cocos2d-x中的UI編輯器 108
6.5.2 用戶界面編輯器的使用 108
6.5.3 在Cocos2d-x引擎中的應用 110
6.6 Cocos2d-x中的用戶交互 111
6.7 游戲界面設計實例——貪
食豆 113
小結 117
習題和實驗 117
第7章 二維游戲動畫合成 118
7.1 電腦動畫概述 118
7.2 常見電腦動畫技術 118
7.2.1 基本動畫技術 118
7.2.2 腳本驅動的動畫技術 119
7.2.3 骨骼動畫技術 120
7.2.4 常見動畫製作軟件及其文件
格式 120
7.3 Cocos2d-x中的動作類 121
7.3.1 瞬時動作(ActionInstant) 121
7.3.2 延時動作(ActionInterval) 122
7.3.3 組合動作
(ActionAcombination) 123
7.3.4 速度的指定(speed) 124
7.3.5 跟隨動作(follow) 124
7.4 Cocos2d-x中的動畫 125
7.4.1 Cocos2d-x中與動畫相關的類 125
7.4.2 Cocos2d-x中的動畫編輯器 125
7.4.3 Cocos2d-x中動畫的實現 127
7.5 游戲動畫實例——俠客行 128
小結 139
習題和實驗 139
第8章 碰撞檢測和運動模擬 140
8.1 碰撞檢測 140
8.2 物體遮擋關系 141
8.3 物體運動模擬 141
8.4 Cocos2d-x中的物理引擎 142
8.4.1 Box2D簡介 142
8.4.2 Box2D中的相關類 143
8.4.3 Box2D的使用 149
8.5 游戲物理模擬實例 150
8.5.1 基於Box2D的游戲實例 150
8.5.2 Cocos2d-x的物理引擎Physics的
應用 158
小結 159
習題和實驗 160
第9章 游戲粒子系統 161
9.1 粒子系統概述 161
9.2 粒子效果 161
9.3 Cocos2d-x中的粒子系統 162
9.4 粒子的生命周期 163
9.5 粒子屬性 164
9.6 粒子編輯器 165
9.7 粒子系統實例—煙花瀑 169
小結 175
習題和實驗 175
第10章 游戲音效編程 177
10.1 聲音基礎 177
10.2 常見的音效引擎 181
10.3 Cocos2d-x中的音樂和
音效 182
10.3.1 音樂和音效的預加載 182
10.3.2 播放和停止 183
10.3.3 暫停和恢復播放 185
10.3.4 其他成員 185
10.4 游戲音效編程實例 186
小結 188
習題和實驗 188
第11章 游戲中的人工智能 189
11.1 游戲AI概述 189
11.2 游戲AI基本類型 190
11.3 常用的游戲AI技術 190
11.3.1 有限狀態機 191
11.3.2 模糊邏輯 192
11.3.3 人工神經網絡 192
11.3.4 遺傳算法 193
11.3.5 腳本語言 193
11.4 二維游戲尋路與A*算法 194
11.4.1 游戲尋路技術 194
11.4.2 A*算法及其實現 195
11.5 游戲AI實例——迷宮尋寶 200
小結 205
習題和實驗 206
第12章 網絡游戲編程 207
12.1 網絡游戲的基本架構 207
12.2 網絡游戲通信協議 208
12.3 網絡游戲多線程編程 209
12.4 常見的游戲開發網絡框架 211
12.5 Cocos2d-x中的網絡通信 211
12.5.1 HTTP網絡通信 212
12.5.2 Socket網絡通信 214
12.5.3 WebSocket網絡通信 217
12.6 游戲網絡編程實例——網絡
坦克大戰 218
12.6.1 準備工作 218
12.6.2 解析JSON 218
12.6.3 連接網絡 220
12.6.4 游戲邏輯實現 225
小結 227
習題和實驗 228
第13章 游戲中的腳本編程 229
13.1 Lua簡介 229
13.2 Lua語言的語法 230
13.2.1 數值和類型 230
13.2.2 表達式 231
13.2.3 語句 232
13.2.4 函數 235
13.3 Lua程序與C++程序通信 236
13.3.1 C++代碼調用Lua函數 237
13.3.2 Lua代碼調用C++函數 238
13.4 Lua腳本在Cocos2d-x中的
應用 239
13.5 游戲腳本編程實例——守衛
寶箱 239
小結 246
習題和實驗 246
第14章 電腦游戲綜合實例 247
14.1 全局控制和管理 247
14.2 游戲數據解析 250
14.2.1 CSV文件解析 250
14.2.2 SQLite數據庫應用 253
14.3 場景繪制 262
14.3.1 地圖繪制 263
14.3.2 模型封裝和導入 267

14.4 界面設計 276
14.4.1 主界面構建 276
14.4.2 對話框設計 280
14.5 動畫效果 285
14.6 游戲AI 287
小結 289
參考文獻 290