-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
12/13 新書到! 10/8 新書到! 10/1 新書到! 9/24 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Windows移動遊戲開發實戰——使用C#語言

( 簡體 字)
作者:Adam Dawes 著類別:1. -> 遊戲 -> 遊戲程式 -> 程式設計 -> .NET -> C#
譯者:
出版社:清華大學出版社Windows移動遊戲開發實戰——使用C#語言 3dWoo書號: 31691
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:11/30/2011
頁數:392
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787302271949
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

本書的目標
移動游戲在近幾年非常流行。隨著Nintendo的Gameboy的出現,人們就意識到能將他們的游戲隨身攜帶。隨著技術更加復雜,這些游戲也在不斷地成長,融合了復雜的游戲機械學、先進的2D和3D圖形技術以及引人入勝的故事和游戲世界,使玩家流連其中。
在游戲不斷成長的同時,移動通信設備也實現了巨大的普及。幾乎所有的人每次出門在外時都會攜帶一部手機,然而現在這些手機已經不只是打電話,它們能夠提供聯系人管理、E-mail、Web瀏覽、衛星導航以及強大的娛樂功能。
為移動設備編寫游戲時能將這些趨勢都融合到一起。人們拿起手機來玩游戲是一件很容易的事,因為人們通常將手機放在口袋中。在乘坐火車時可以進入角色扮演游戲打發時間,在等待約會時可以玩幾分鐘休閑游戲,這些需求手機游戲都可以提供。
本書旨在讓您掌握創建在Windows Mobile及Window Phone經典設備上的游戲所需的知識和技術。首先介紹了平臺及開發環境方面的基礎知識,然后逐漸擴展到3D圖形之類的高級主題。本書將引導您逐步創建一個簡單且可管理的環境,您可以通過它編寫自己的手機游戲,還能將游戲向外部發布,用于娛樂或盈利。本書還提供了示例項目,對所有討論到的技術都進行了演示,這些示例項目是理想的試驗素材。
要適應Windows Mobile硬件的多樣性是有難度的。本書將展示如何創建能適用于盡可能多的設備、適用于不同的屏幕分辨率、觸摸屏或非觸摸屏設備,滿足各種您可能需要處理的其他硬件功能的需要的游戲。
本書的讀者對象
本書適用于已經對C#或Visual Basic.NET(Visual Studio中兩種主要的托管語言)比較熟悉的讀者,假定您已經掌握了程序設計的基礎知識,并且能夠熟練使用基于PC的應用程序開發環境。本書并不是專門介紹編程或Visual Studio開發環境本身的。
然而,本書將全程引導您設置Windows Mobile程序開發環境,編譯首個程序,以及在Visual Studio的Windows Mobile仿真器或真實手機上對游戲進行交互式調試。
要為您的手機開發軟件,需要使用Visual Studio 2005標準版或Visual Studio 2008專業版。雖然本書中許多項目都可以通過Windows Mobile仿真器進行開發,但還是強烈建議您使用真實的手機來測試您的游戲。
為了使用OpenGL開發游戲,您需要一部支持OpenGL硬件加速的手機,因為當前沒有仿真器能夠提供該功能(這在本書最后一個部分會討論)。大多數新手機都支持OpenGL——當不確定時,您可以通過Internet進行查詢。
本書中的示例全部使用C#語言編寫,但大部分可以毫無問題地轉換為VB.NET。在書中會為VB.NET程序員給出提示和建議,對于少數無法直接進行轉換的情形也給出了解決方案。
各章內容簡介
下面簡要介紹各個章節。各章之間是相互銜接的,所以建議您按照順序閱讀以避免在后續章節中出現知識缺漏的問題。
第1章介紹了Windows移動平臺及如何使用Visual Studio開發環境創建Windows移動游戲應用程序。還涵蓋了一些您可能會遇見的不同的硬件配置,最后介紹了如何在仿真器和硬件設備上安裝簡單的.NET Compact Framework項目。
第2章探究了用戶界面,介紹如何使用窗體和控件、菜單、計時器以及一些特定的主題,如使用攝像頭捕獲圖片。
第3章介紹了第一個游戲開發的概念,介紹了圖形設備接口(Graphics Device Interface,GDI)系統。盡管GDI在性能上還相當原始,但仍能用于開發有趣而可玩的游戲,也能夠適用于所有的Windows Mobile設備。其創建方式將詳細調研。
第4章開始構建一個可重用的游戲引擎,在創建復雜靈活的游戲時,需要用到許多功能,該游戲引擎使這些功能在使用方式上簡單化。它還提供了一套簡單的機制,用于創建游戲環境中獨立的對象和相互關聯的對象,還對GDI渲染過程進行了優化,使游戲在運行速度上盡可能快。
第5章介紹如何使游戲中的計時器在所有設備上保持一致,而不論其速度、圖形性能或系統其他部分的處理器負載有何不同。動畫的速度完全可以預測,不會損失靈活性或流暢度。
第6章涵蓋了用戶輸入這一主題,Windows Mobile設備支持各種輸入設備,從觸摸屏和鍵盤到重力感應器,該章會詳細介紹如何將這些設備應用于游戲操控中。
第7章介紹聲音,揭示了各種游戲音頻格式選項,包括簡單的MP3音效及背景音樂。您需要了解的各方面的游戲聲音知識都可以在該章找到。
第8章將之前討論過的所有技術都融合到一個名為GemDrops的完整游戲中。該游戲圖形顏色豐富、提供能夠適用于不同設備的操控方式、自適應屏幕分辨率、包含音效和音樂,整個游戲是一步一步構建完成的,向您展示了如何開發一個實際的游戲。
第9章提供了一系列可重用于任何游戲中的組件。其中包括:對用戶設置進行加載和保存,一個信息提示窗口,一個靈活的積分排行榜,以及一個應用程序信息頁面。通過這些組件您可以將重心放到游戲本身,而不用再費力開發這些功能。
第10章打開了OpenGL for Embedded Systems(OpenGL ES)圖形編程的大門。探究了OpenGL ES的概念和后臺運行機制,同GDI進行了對比和對照。在該章中您可以學到如何初始化OpenGL ES環境,以及如何提供顏色豐富的紋理映射圖片。
第11章將第10章中介紹的OpenGL ES功能整合到游戲引擎中,提供了一系列可重用的函數用于簡化OpenGL ES游戲開發。該章的焦點是對2D圖形使用該游戲引擎,探究了OpenGL ES所提供的這些功能是如何超越GDI所提供的相應功能的。
第12章進入到OpenGL ES的3D功能中,解釋如何創建3D游戲世界。涉及的主題包括視角、深度緩沖區以及光照,使場景真正能夠接近現實。
第13章繼續探索OpenGL ES在3D世界中的應用,為游戲引擎引入了許多有用的新功能。這包括導入3D對象及第三方模型包、在游戲世界中移動和處理鏡頭以及對3D場景應用霧化。
第14章將所有這些代碼包裝起來用于向外界發布您的游戲,介紹了版本控制、創建安裝包、注冊碼系統、反向工程以及游戲升級方面的信息。
內容簡介:

《Windows移動游戲開發實戰——使用C#語言》將竭力激發您的創造力,讓您有機會制作出成功的手機游戲。本書從首個Windows 移動游戲應用程序開發開始介紹,直到采用包括OpenGL ES圖形庫在內的高級圖形技術,全程指導您創建理想的完整游戲。著重講述了游戲的輸入方式和控制方式、在游戲中靈活地控制屏幕對象的方法、確保游戲運行速度一致的計時器、添加音樂和音效等方面的知識,還演示了如何克服兼容性問題,使您的游戲可以適用于盡可能多的手機玩家。



目錄:

第Ⅰ部分 Windows移動平臺開發
第1章 Windows移動平臺開發與
.NET 3
1.1 深入了解用于Windows移動
開發的.NET 4
1.1.1 選擇語言 4
1.1.2 .NET 運行庫 4
1.1.3 IDE功能 5
1.2 為Windows移動平臺開發做
準備 6
1.2.1 多種Windows移動操作系統
版本 6
1.2.2 硬件考慮 7
1.3 使用Visual Studio進行Windows
移動平臺開發 9
1.3.1 安裝Visual Studio 9
1.3.2 創建Windows移動項目 10
1.3.3 設計窗體 13
1.3.4 運行應用程序 14
1.3.5 使用仿真器 15
1.3.6 針對不同的平臺 17
1.3.7 在實際的設備上運行 17
1.3.8 調試 20
1.3.9 獲得幫助 21
1.4 Windows移動游戲開發 21
1.4.1 適合的游戲 22
1.4.2 圖形API 22
1.4.3 本書采用的技術 23
1.5 歡迎進入Windows移動平臺
開發世界 24

第2章 用戶界面 25
2.1 為觸摸屏與smart phone
設備進行開發 25
2.2 用戶界面控件 26
2.2.1 窗體 27
2.2.2 標簽 30
2.2.3 按鈕 31
2.2.4 菜單欄 32
2.2.5 上下文菜單 35
2.2.6 計時器 36
2.2.7 文件對話框控件 37
2.2.8 輸入面板 39
2.2.9 捕獲照片 41
2.3 “忙碌”光標 42
2.4 開始游戲編程 42
第Ⅱ部分 創 建 游 戲
第3章 GDI圖形編程 45
3.1 GDI概述 45
3.2 開始繪圖 45
3.2.1 使窗體失效 46
3.2.2 繪圖坐標系 47
3.2.3 顏色 47
3.2.4 畫筆與畫刷 49
3.2.5 繪制線段 49
3.2.6 繪制多邊形 51
3.2.7 繪制矩形 52
3.2.8 繪制橢圓 52
3.2.9 處理像素點 53
3.2.10 顯示文本 53
3.2.11 清除背景 56
3.2.12 繪圖示例 57
3.3 位圖 57
3.3.1 使用Graphics類的基本函數
創建位圖 57
3.3.2 使用預先畫好的圖形
創建位圖 58
3.3.3 在屏幕上繪制位圖 61
3.3.4 位圖示例 65
3.4 平滑的動畫 65
3.5 充分利用GDI 68
第4章 開發游戲引擎 69
4.1 設計游戲引擎 69
4.2 引擎的實現 71
4.2.1 CgameEngineBase類 71
4.2.2 CgameObjectBase類 77
4.2.3 CGameObjectGDIBase類 78
4.2.4 CGameEngineGDIBase類 80
4.2.5 CGameFunctions類 81
4.3 使用游戲引擎 82
4.4 優化渲染 89
4.4.1 添加、更新和刪除對象 93
4.4.2 強制重繪 93
4.4.3 性能影響 94
4.5 引擎的其他功能 94
4.5.1 與設備進行交互 94
4.5.2 檢查設備的兼容性 97
4.5.3 未來的功能增強 100
4.6 下一步的工作 100
第5章 計時器 101
5.1 統一計時器的必要性 101
5.1.1 處理器速度 101
5.1.2 圖形性能 101
5.1.3 多任務 102
5.1.4 運算及繪圖的復雜性 102
5.1.5 開發模式與發行版代碼 102
5.2 消除性能上的不一致性 102
5.2.1 按固定間隔進行更新 102
5.2.2 按動態間隔進行更新 103
5.2.3 內插更新 105
5.3 使用外部計時器 109
5.3.1 DateTime.Now屬性 109
5.3.2 Environment.TickCount
屬性 109
5.3.3 高性能計時器 109
5.4 游戲引擎中的計時器 110
5.4.1 計時器的初始化與內插 110
5.4.2 對要使用內插的函數
進行修改 114
5.4.3 非內插函數的改動 117
5.4.4 使用游戲引擎 117
5.5 新版Bounce 118
第6章 用戶輸入 119
6.1 觸摸屏輸入 119
6.1.1 觸摸屏事件 119
6.1.2 選擇、拖放與滑擦 122
6.1.3 添加上下文菜單 134
6.1.4 使用手指進行操作 136
6.1.5 使用多點觸控輸入 136
6.2 按鈕與鍵盤輸入 137
6.2.1 功能鍵與鍵盤事件 137
6.2.2 讀取鍵盤狀態 138
6.2.3 使用SIP進行輸入 140
6.2.4 選擇鍵盤輸入方式 140
6.3 讀取重力感應 140
6.3.1 初始化重力感應器 141
6.3.2 從重力感應器中讀取數據 141
6.3.3 檢測是否支持重力感應 143
6.3.4 支持無重力感應的設備 145
6.4 考慮如何設計輸入方式 146
第7章 在游戲中添加音頻 147
7.1 理解聲音文件的類型 147
7.2 瀏覽可用的各種聲音API 148
7.3 使用聲音API 149
7.3.1 PlaySound函數 150
7.3.2 System.Media.Sound-
Player類 153
7.3.3 AygShell聲音函數 157
7.3.4 BASS.dll 159
7.4 為游戲引擎添加對聲音的
支持 166
7.5 選擇聲音API 166
7.6 一些建議 167
第8章 游戲案例:GemDrops 169
8.1 設計游戲 169
8.1.1 創建GemDrops的概要
設計 169
8.1.2 概念化游戲控制 172
8.1.3 選擇音效 172
8.1.4 游戲的最低配置 173
8.2 編寫游戲 173
8.2.1 創建項目 174
8.2.2 創建游戲窗體 174
8.2.3 為游戲做準備 175
8.2.4 創建寶石游戲對象 177
8.2.5 重置游戲 181
8.2.6 暫停游戲 183
8.2.7 顯示用于玩家控制的寶石 184
8.2.8 更新玩家控制的寶石 191
8.2.9 添加玩家控制 199
8.2.10 從游戲區域中消除寶石 207
8.2.11 創建得分對象 213
8.3 結束 216
第9章 通用游戲組件 217
9.1 管理游戲設置 217
9.1.1 使用設置類 217
9.1.2 理解CSettings類的
工作方式 220
9.2 替換MessageBox控件 221
9.2.1 使用MessageBox類 222
9.2.2 理解CMessageBox類的
工作方式 223
9.3 創建積分榜 223
9.3.1 使用積分榜類 224
9.3.2 理解CHighScores類的
工作方式 226
9.4 創建About框 230
9.4.1 使用About Box類 230
9.4.2 理解CAboutBox類的
工作方式 232
9.5 使用通用游戲組件 233
第Ⅲ部分 OpenGL ES圖形編程
第10章 OpenGL ES 237
10.1 使用OpenGL前的準備 237
10.1.1 硬件支持 237
10.1.2 語言支持 238
10.1.3 理解OpenGL的特性 238
10.1.4 3D渲染 239
10.2 在Visual Studio .NET中
使用OpenGL 240
10.2.1 在托管語言中調用
OpenGL 240
10.2.2 理解OpenGL的
渲染方法 241
10.2.3 考慮硬件的性能及限制 241
10.2.4 關閉OpenGL應用程序 241
10.3 創建OpenGL程序 242
10.3.1 配置項目 242
10.3.2 創建OpenGL環境 243
10.3.3 初始化OpenGL 246
10.3.4 在OpenGL中渲染
圖形 248
10.3.5 添加窗體函數 252
10.3.6 終止OpenGL 253
10.3.7 運行程序 254
10.3.8 添加一些酷炫效果 254
10.4 使用矩陣變換 255
10.4.1 設置單位矩陣 256
10.4.2 應用平移變換 256
10.4.3 應用旋轉變換 257
10.4.4 應用縮放變換 257
10.4.5 應用多個變換 258
10.4.6 指定頂點位置 260
10.4.7 令矩陣進棧和出棧 260
10.4.8 矩陣變換示例項目 260
10.5 繪圖函數 264
10.5.1 繪制點 264
10.5.2 繪制線段 264
10.5.3 繪制三角形 265
10.6 使用紋理映射 267
10.6.1 加載圖形 267
10.6.2 使用紋理進行渲染 267
10.6.3 指定紋理坐標 270
10.6.4 清除資源 271
10.7 使用透明度和alpha混合 271
10.7.1 應用透明度 271
10.7.2 alpha混合 272
10.7.3 使用紋理進行alpha
混合 273
10.7.4 了解常用的混合因子 274
10.8 理解直角坐標系 275
10.9 深入掌握OpenGL 277
第11章 使用OpenGL創建2D
游戲 279
11.1 將OpenGL添加到游戲
引擎中 279
11.1.1 CgameEngineOpen-
GLBase類 279
11.1.2 CgameObjectOpen-
GLBase類 282
11.1.3 執行功能檢測 284
11.1.4 創建游戲窗體 286
11.2 使用OpenGL游戲引擎 288
11.2.1 為Balloons游戲做準備 288
11.2.2 設置投影矩陣 290
11.2.3 渲染氣球 291
11.2.4 對氣球排序 293
11.2.5 運行游戲 295
11.3 OpenGL帶來的2D開發
契機 299
第12章 解密3D 301
12.1 透視投影 301
12.1.1 視錐 301
12.1.2 在OpenGL中定義視錐 303
12.2 理解深度緩沖區 304
12.2.1 啟用深度緩沖區 305
12.2.2 在渲染透明對象時使用
深度緩沖區 306
12.3 渲染3D對象 306
12.3.1 定義3D對象 307
12.3.2 去掉被遮蓋的表面 312
12.3.3 使用索引三角形 314
12.4 使用光照 316
12.4.1 光照和材質 317
12.4.2 探索光照類型 317
12.4.3 使用材質屬性 319
12.4.4 探索光照與材質之間的
相互作用 320
12.4.5 使用多光源 320
12.4.6 重用光照 320
12.4.7 探究光源的類型 321
12.4.8 在OpenGL中計算光
反射 322
12.4.9 在游戲引擎中添加光照 326
12.4.10 編程計算法線 333
12.4.11 在縮放對象時使用
法線 337
12.5 掌握3D 337
第13章 更多OpenGL功能與技術 339
13.1 導入幾何圖形 339
13.1.1 SketchUp簡介 339
13.1.2 使用.obj文件格式 342
13.1.3 將幾何圖形導入到游戲
引擎中 344
13.2 移動攝像頭 349
13.2.1 定位攝像頭 350
13.2.2 在游戲引擎中添加camera
對象 351
13.2.3 光照、攝像頭與移動 355
13.2.4 優化攝像頭計算 357
13.2.5 攝像頭與投影矩陣 359
13.3 霧化渲染 360
13.3.1 為游戲引擎增加霧化
支持 360
13.3.2 使用霧化 361
13.4 billboard 362
13.4.1 渲染billboard 362
13.4.2 為游戲引擎增加billboard
支持 364
13.5 深入學習OpenGL ES 366
第Ⅳ部分 發 布
第14章 發布游戲 369
14.1 準備發布 369
14.1.1 設置程序集屬性 369
14.1.2 項目的版本控制 370
14.1.3 創建圖標 372
14.2 創建分發包 374
14.2.1 切換為Release模式 374
14.2.2 創建安裝程序項目 375
14.2.3 向安裝程序項目添加文件 376
14.2.4 創建Programs菜單快捷方式 377
14.2.5 生成CAB文件 379
14.3 銷售游戲 379
14.3.1 創建應用程序的評估版 379
14.3.2 升級為完整版 380
14.3.3 使用Windows Marketplace for Mobile 382
14.3.4 減少盜版 384
14.4 實現反向工程 384
14.4.1 使用Dotfuscator社區版
進行混淆 385
14.4.2 使用更高級的混淆 387
14.4.3 將混淆后的文件添加到
CAB安裝程序項目中 388
14.5 發布游戲的新版本 389
14.6 提高游戲的知名度 391
14.7 開始創建 392






















序: