游戲開發實戰寶典
作 者: 猿媛之家 著
出版時間: 2021
內容簡介
本書講解了游戲開發中用到的相關技術,主要包括前端和后端兩部分內容,并結合前端與后端技術給出了幾個實戰項目的設計及實現方法。 本書分4部分,共12章。第壹部分(第1章)為梗概,介紹了軟件開發的關鍵、游戲開發從業者的層次和挑戰以及本書的目標。 第 2 部分(第2~5章)先介紹了Egret Engine編程技術,包括編程基礎、高級開發和擴展庫編程。隨后講解了sparrow-egret游戲前端框架的編程技術,包括MVC架構模式以及sparrow-egret游戲前端框架的主要功能。 第 3 部分(第6~8章)先介紹了Netty的主要功能,然后給出了作者開發的基于JCommon和nest的游戲組件的使用方法。*后給出了一個基于前端和后臺功能相結合的實戰項目—游戲聊天室。 第 4 部分(第9~12章)則比較詳細地講解了作者基于先前框架所開發的游戲實戰項目—貪吃蛇和網絡對戰國際象棋。同時,介紹了一款可以和先前框架配合使用的自動生成代碼的腳本工具—TreeBranch。在本書的*后兩章,還講解了功能框架以及實戰項目里所涉及的游戲開發模塊整合以及設計原則與模式,并展示了筆者的設計思路。 本書適用于游戲編程初、中級開發人員,游戲開發高手也可以通過閱讀本書擴展自己的設計思路。
目錄
前言
第1部分 梗概/1
第1章 直擊問題關鍵及本書概要/2
11 軟件開發的關鍵/2
12 游戲開發從業者的層次和挑戰/3
13 本書的目標/3
14 本章小結/4
第2部分 Egret編程指南/5
第2章 Egret Engine編程基礎/6
21 Egret引擎簡介/6
22 引擎的安裝、配置與發布/6
221 安裝Egret啟動器/6
222 啟動Egret啟動器并安裝引擎和編輯器/8
223 創建默認項目/10
224 通過默認項目講解項目配置/14
225 第三方擴展庫/16
226 發布項目/18
23 顯示對象和顯示容器/19
231 舞臺/19
232 坐標系統以及基本屬性/20
233 添加與刪除顯示對象/21
234 深度管理/25
24 矢量繪圖/26
241 繪制圓形/26
242 繪制直線/27
243 繪制曲線/28
244 繪制圓弧/29
25 遮罩/31
26 碰撞檢測/31
261 邊框級別的碰撞檢測/31
262 像素級別的碰撞檢測/32
27 文本/33
271 三種文本類型/33
272 文本樣式/34
28 事件機制/41
281 Egret事件處理機制/41
282 Egret的觸摸事件/43
29 網絡/44
291 發送HTTP請求/44
292 發送帶參數的請求/45
210 本章小結/45
第3章 Egret Engine高級開發/46
31 位圖紋理/46
311 基本知識/46
312 九宮格/48
313 紋理的填充方式/49
314 紋理集/50
32 顏色效果/51
321 混合模式/51
322 濾鏡/53
33 時間控制/58
331 計時器/58
332 心跳/59
333 幀事件/60
34 多媒體/61
341 音頻/61
342 視頻/61
35 屏幕適配/62
351 縮放模式/62
352 旋轉模式/67
36 調試/70
37 本章小結/71
第4章 Egret擴展庫編程指南/72
41 RES資源加載/72
411 資源加載配置文件/72
412 加載資源配置文件及資源組/73
42 EUI庫/74
421 基本組件/74
422 組件容器/82
423 皮膚/88
43 Tween緩動庫/89
431 基本功能/89
432 緩動對象的其他方法/90
44 WebSocket庫/91
45 P2物理系統庫/93
46 本章小結/96
第5章 sparrow-egret游戲前端框架/97
51 MVC架構模式/97
511 PureMVC簡明教程/97
512 PureMVC在sparrow-egret里的應用/100
52 sparrow-egret功能介紹/101
521 程序入口/101
522 監聽資源的加載/102
523 場景堆棧/104
524 代理服務器/106
525 請求、響應、推送以及處理響應和推送/107
53 本章小結/110
第3部分 Netty編程指南/111
第6章 Netty快速入門/112
61 搭建開發環境/112
611 安裝JDK/112
612 安裝IDE/112
613 安裝Gradle/112
62 第一個Netty應用程序/113
621 創建EchoServer/113
622 創建EchoClient/120
63 Channel/122
64 ByteBuf/124
641 ByteBuf的模式/124
642 讀寫操作/125
643 生成ByteBuf實例/127
65 ChannelHandler和ChannelPipeline/128
651 ChannelHandler/128
652 ChannelPipeline/129
653 ChannelHandlerContext/130
654 異常處理/131
66 編解碼器/131
661 解碼器/131
662 編碼器/132
67 WebSocket幀處理器/133
671 實現HTTP連接/133
672 處理WebSocket幀/134
673 定義ChannelInitializer/135
68 SSL處理器/136
69 本章小結/136
第7章 JCommon和nest編程指南/137
71 PPA編程模型/137
72 JCommon和nest的組件概述/138
721 Server服務器類/138
722 Lobby大廳的基類/139
723 NestRoot根類/141
724 BaseConfiguration配置的基類/142
725 ProxyPlayerEnteringRoom代理玩家的基類/142
726 Request請求的基類/143
727 Response響應的基類/144
728 Push推送的基類/145
729 Action動作的基類/145
7210 Room房間的基類/146
7211 Table桌面的基類/146
7212 ClassScanner類掃描器/149
73 本章小結/150
第8章 前端后臺實戰項目—游戲聊天室/151
81 游戲聊天室功能/151
82 前端程序的實現/151
821 引入第三方庫/151
822 請求、響應以及推送協議的設計/152
823 場景、推送處理器以及對話框的設計/153
824 實現資源加載監聽器/156
825 實現入口類—Main/157
826 小結/158
83 后臺程序的實現/158
831 修改gradle構建腳本/158
832 代理玩家的實現/158
833 大廳的實現/159
834 請求、響應以及推送/159
835 動作的實現/159
836 配置類的實現/159
837 程序啟動類/160
84 連接前端與后臺/160
841 啟動后臺程序/160
842 啟動前端程序/161
85 本章小結/162
第4部分 綜合實戰/163
第9章 實戰項目—貪吃蛇/164
91 貪吃蛇項目的設計/164
92 代碼解析/165
921 GameScene游戲場景類/165
922 Snake蛇類/170
923 SnakeHead蛇頭類/174
924 SnakeBody蛇身類/175
925 Driver控制器類/175
926 Direction方向類/177
93 本章小結/178
第10章 綜合實戰項目—國際象棋/179