精通C#遊戲編程

精通C#遊戲編程,通過引導讀者創建一個基本的遊戲,展示了如何使用c#和OpenGL一步步地開發出簡單、整潔而可靠的代碼。

基本信息

精通C#遊戲編程精通C#遊戲編程

內容簡介

本書通過引導讀者創建一個基本的遊戲,展示了如何使用c#和OpenGL一步步地開發出簡單、整潔而可靠的代碼。C#是一種高級程式語言,而OpenGL是業界顯示圖形最常用的方法。本書概述了創建優秀遊戲項目時採用的方法和庫,討論了如何如何使用這些庫和創建自己的庫,最後幫助讀者創建自己的射擊類遊戲。書中還提供了關於如何實現自己的遊戲想法的提示和信息,以及可以採用的代碼庫,從而幫助讀者將自己的遊戲想法從概念變為現實。

本書配套資料中附有書中會用到的所有原始碼、遊戲資源以及有用的遊戲開發網站和圖形開發網站的連結。

編輯推薦

《精通C#遊戲編程》為遊戲開發經典叢書之一。

作者簡介

作者:(英國)斯庫勒(Daniel Schuller) 譯者:張磊 李蘇軍

斯庫勒(Daniel Schuller),生於英國,是一名計算機遊戲開發人員,曾在美國、新加坡和日本工作和生活,目前在英國工作。他在PC、Xbox 360和PLAYSTATION 3上發布過遊戲。Schuller為Sony、Ubisoft、Naughty Dog、RedBull和Wizards of the Coast開發過遊戲,並運營著一個遊戲開發網站。除了開發計算機遊戲,Schuller還在學習日文,並對人工智慧、認知科學和遊戲在教育中的作用非常感興趣。

目錄

第Ⅰ部分 背景知識

第1章 c#的歷史 3

1.1 c#基礎 3

1.2 小結 14

第2章 opengl簡介 15

2.1 opengl的架構 16

2.1.1 頂點:3d圖形的基礎 16

2.1.2 流水線 17

2.2 變化中的opengl 19

2.2.1 opengl es 19

2.2.2 webgl 19

2.3 opengl和圖形卡 20

2.4 tao框架 21

2.5 小結 23

第3章 現代方法 25

3.1 實效編程 25

3.1.1 遊戲編程中的陷阱 25

3.1.2 kiss 26

3.1.3 dry 26

3.1.4 原始碼控制 30

3.1.5 單元測試 32

3.2 小結 37

第Ⅱ部分 實現

第4章 設定 41

4.1 visual studio express—— c#可以使用的免費ide 41

4.1.1 hello world程式 42

4.1.2 關於visual studio express的提示 44

4.2 subversion 50

4.2.1 獲取 51

4.2.2 安裝 51

4.2.3 創建原始碼控制庫 51

4.2.4 添加到庫中 52

4.2.5 歷史記錄 56

4.2.6 擴展hello world 56

4.3 tao 58

4.4Nunit58

4.4.1 在項目中使用nunit 59

4.4.2 運行測試 61

4.4.3 示例項目 63

4.5 小結 66

第5章 遊戲循環和圖形 67

5.1 遊戲的工作方式 67

5.2 使用c#實現一個快速的遊戲循環 68

5.3 圖形 76

5.3.1 全螢幕模式 79

5.3.2 渲染 79

5.4 小結 84

第6章 遊戲結構 87

6.1 遊戲對象的基本模式 87

6.2 處理遊戲狀態 88

6.3 遊戲狀態演示 93

6.4 使用投影設定場景 95

6.4.1 字型大小和opengl視口大小 95

6.4.2 寬高比 96

6.4.3 投影矩陣 97

6.4.4 2d圖形 97

6.5 精靈 100

6.5.1 定位精靈 103

6.5.2 使用四方形管理紋理 104

6.5.3 紋理精靈 109

6.5.4Alpha混合精靈 111

6.5.5 顏色調製精靈 113

6.5.6 sprite類和render類 113

6.5.7 使用sprite類 119

第7章 渲染文本 121

7.1 字型紋理 121

7.2 字型數據 124

7.2.1 解析字型數據 125

7.2.2 使用CharacterData126

7.3 渲染文本 129

7.3.1 計算fps 130

7.3.2 垂直同步和幀率 132

7.3.3 性能分析 133

7.4 最佳化text類 133

7.5 使用gldrawarrays進行快速渲染 138

7.5.1 修改渲染器 140

7.5.2 對批(batch)繪製方法執行性能分析 141

7.6 小結 141

第8章 遊戲數學 143

8.1 三角函式 143

8.1.1 繪製圖形 143

8.1.2 使用三角函式實現特殊效果 147

8.2 向量 150

8.2.1 向量的定義 150

8.2.2 長度操作 151

8.2.3 向量的相等性 152

8.2.4 向量加法、減法和乘法 153

8.2.5法向量157

8.2.6 點積運算 159

8.2.7 叉積運算 162

8.2.8 關於向量結構的最後一點內容 163

8.3 二維相交 164

8.3.1 圓 164

8.3.2 矩形 169

8.4 補間 172

8.4.1 補間概述 172

8.4.2Tween類 173

8.4.3 使用補間 176

8.5 矩陣 178

8.5.1 矩陣的定義 178

8.5.2 單位矩陣 179

8.5.3 矩陣乘法和矩陣與向量的乘法 181

8.5.4 平移和縮放 182

8.5.5 旋轉 183

8.5.6 求逆矩陣 184

8.5.7 對精靈執行矩陣操作 185

8.5.8 修改精靈來使用矩陣 187

8.5.9 最佳化 189

第9章 創建遊戲引擎 191

9.1 新的遊戲引擎項目 191

9.2 擴展遊戲引擎 194

9.2.1 在項目中使用遊戲引擎 194

9.2.2 多個紋理 202

9.3 添加聲音支持 205

9.3.1 創建聲音檔案 205

9.3.2 開發soundmanager 206

9.4 改進輸入 215

9.4.1 包裝遊戲控制器 215

9.4.2 添加更好的滑鼠支持 229

9.4.3 添加鍵盤支持 236

第10章 創建一個簡單的捲軸射擊遊戲241

10.1 一個簡單的遊戲 241

10.2 第一遍實現 242

10.2.1 開始選單的狀態 246

10.2.2 遊戲主體狀態 257

10.2.3 遊戲結束狀態 260

10.3 開發遊戲主體 263

10.3.1 移動玩家角色 263

10.3.2 使用捲動背景模擬移動 268

10.3.3 添加一些簡單的敵人 271

10.3.4 添加簡單的武器 279

10.3.5 傷害和爆炸 288

10.3.6 管理爆炸和敵人 295

10.3.7 定義關卡 301

10.3.8 敵人的移動 304

10.3.9 敵人攻擊 315

10.4 繼續疊代 319

第11章 創建自己的遊戲 323

11.1 項目管理 323

11.2 顯示方法 325

11.2.1 2d遊戲 325

11.2.2 3d遊戲 325

11.3 遊戲類型 328

11.3.1 文字類遊戲 328

11.3.2 益智遊戲 330

11.3.3 第一人稱射擊遊戲 332

11.3.4 策略遊戲 333

11.3.5 角色扮演遊戲 334

11.3.6 平台遊戲 339

11.4 結束語 341

附錄a 推薦閱讀材料 343

相關詞條

相關搜尋

熱門詞條

聯絡我們