【有庫存】NT售價: 495 元
本書講解了游戲開發中用到的相關技術,主要包括前端和后端兩部分內容,并結合前端與后端技術給出了幾個實戰項目的設計及實現方法。本書分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章 直擊問題關鍵及本書概要/21.1 軟件開發的關鍵/21.2 游戲開發從業者的層次和挑戰/31.3 本書的目標/31.4 本章小結/4第2部分 Egret編程指南/5第2章 Egret Engine編程基礎/62.1 Egret引擎簡介/62.2 引擎的安裝、配置與發布/62.2.1 安裝Egret啟動器/62.2.2 啟動Egret啟動器并安裝引擎和編輯器/82.2.3 創建默認項目/102.2.4 通過默認項目講解項目配置/142.2.5 第三方擴展庫/162.2.6 發布項目/182.3 顯示對象和顯示容器/192.3.1 舞臺/192.3.2 坐標系統以及基本屬性/202.3.3 添加與刪除顯示對象/212.3.4 深度管理/252.4 矢量繪圖/262.4.1 繪制圓形/262.4.2 繪制直線/272.4.3 繪制曲線/282.4.4 繪制圓弧/292.5 遮罩/312.6 碰撞檢測/312.6.1 邊框級別的碰撞檢測/312.6.2 像素級別的碰撞檢測/322.7 文本/332.7.1 三種文本類型/332.7.2 文本樣式/342.8 事件機制/412.8.1 Egret事件處理機制/412.8.2 Egret的觸摸事件/432.9 網絡/442.9.1 發送HTTP請求/442.9.2 發送帶參數的請求/452.10 本章小結/45第3章 Egret Engine高級開發/463.1 位圖紋理/463.1.1 基本知識/463.1.2 九宮格/483.1.3 紋理的填充方式/493.1.4 紋理集/503.2 顏色效果/513.2.1 混合模式/513.2.2 濾鏡/533.3 時間控制/583.3.1 計時器/583.3.2 心跳/593.3.3 幀事件/603.4 多媒體/613.4.1 音頻/613.4.2 視頻/613.5 屏幕適配/623.5.1 縮放模式/623.5.2 旋轉模式/673.6 調試/703.7 本章小結/71第4章 Egret擴展庫編程指南/724.1 RES資源加載/724.1.1 資源加載配置文件/724.1.2 加載資源配置文件及資源組/734.2 EUI庫/744.2.1 基本組件/744.2.2 組件容器/824.2.3 皮膚/884.3 Tween緩動庫/894.3.1 基本功能/894.3.2 緩動對象的其他方法/904.4 WebSocket庫/914.5 P2物理系統庫/934.6 本章小結/96第5章 sparrow-egret游戲前端框架/975.1 MVC架構模式/975.1.1 PureMVC簡明教程/975.1.2 PureMVC在sparrow-egret里的應用/1005.2 sparrow-egret功能介紹/1015.2.1 程序入口/1015.2.2 監聽資源的加載/1025.2.3 場景堆棧/1045.2.4 代理服務器/1065.2.5 請求、響應、推送以及處理響應和推送/1075.3 本章小結/110第3部分 Netty編程指南/111第6章 Netty快速入門/1126.1 搭建開發環境/1126.1.1 安裝JDK/1126.1.2 安裝IDE/1126.1.3 安裝Gradle/1126.2 第一個Netty應用程序/1136.2.1 創建EchoServer/1136.2.2 創建EchoClient/1206.3 Channel/1226.4 ByteBuf/1246.4.1 ByteBuf的模式/1246.4.2 讀寫操作/1256.4.3 生成ByteBuf實例/1276.5 ChannelHandler和ChannelPipeline/1286.5.1 ChannelHandler/1286.5.2 ChannelPipeline/1296.5.3 ChannelHandlerContext/1306.5.4 異常處理/1316.6 編解碼器/1316.6.1 解碼器/1316.6.2 編碼器/1326.7 WebSocket幀處理器/1336.7.1 實現HTTP連接/1336.7.2 處理WebSocket幀/1346.7.3 定義ChannelInitializer/1356.8 SSL處理器/1366.9 本章小結/136第7章 JCommon和nest編程指南/1377.1 PPA編程模型/1377.2 JCommon和nest的組件概述/1387.2.1 Server服務器類/1387.2.2 Lobby大廳的基類/1397.2.3 NestRoot根類/1417.2.4 BaseConfiguration配置的基類/1427.2.5 ProxyPlayerEnteringRoom代理玩家的基類/1427.2.6 Request請求的基類/1437.2.7 Response響應的基類/1447.2.8 Push推送的基類/1457.2.9 Action動作的基類/1457.2.10 Room房間的基類/1467.2.11 Table桌面的基類/1467.2.12 ClassScanner類掃描器/1497.3 本章小結/150第8章 前端后臺實戰項目—游戲聊天室/1518.1 游戲聊天室功能/1518.2 前端程序的實現/1518.2.1 引入第三方庫/1518.2.2 請求、響應以及推送協議的設計/1528.2.3 場景、推送處理器以及對話框的設計/1538.2.4 實現資源加載監聽器/1568.2.5 實現入口類—Main/1578.2.6 小結/1588.3 后臺程序的實現/1588.3.1 修改gradle構建腳本/1588.3.2 代理玩家的實現/1588.3.3 大廳的實現/1598.3.4 請求、響應以及推送/1598.3.5 動作的實現/1598.3.6 配置類的實現/1598.3.7 程序啟動類/1608.4 連接前端與后臺/1608.4.1 啟動后臺程序/1608.4.2 啟動前端程序/1618.5 本章小結/162第4部分 綜合實戰/163第9章 實戰項目—貪吃蛇/1649.1 貪吃蛇項目的設計/1649.2 代碼解析/1659.2.1 GameScene游戲場景類/1659.2.2 Snake蛇類/1709.2.3 SnakeHead蛇頭類/1749.2.4 SnakeBody蛇身類/1759.2.5 Driver控制器類/1759.2.6 Direction方向類/1779.3 本章小結/178第10章 綜合實戰項目—國際象棋/17910.1 前端與后臺的輔助工具—TreeBranch/17910.1.1 安裝protobuf命令行程序和庫/17910.1.2 編寫協議配置文件/18010.1.3 在Python執行環境下安裝TreeBranch/18210.1.4 用TreeBranch編寫前端和后臺項目的代碼自動生成腳本/18210.1.5 小結/18610.2 sparrow-egret-games-chess項目詳解/18610.2.1 SquareComponent棋盤格組件/18710.2.2 PieceComponent棋子組件/18810.2.3 ChessBoardViewComponent棋盤組件/18810.2.4 ChessBoardState棋盤狀態/19110.2.5 通知處理器/19210.2.6 對話框/19410.3 nest-games-chess項目詳解/19510.3.1 ChessRoom象棋房間/19610.3.2 ChessTable象棋桌面/19610.3.3 ChessBoard象棋棋盤/19710.3.4 Piece棋子/19810.3.5 QueryingLegalMovesAction查詢合法走法的動作/20010.3.6 QueryResult合法走法查詢的結果/20010.3.7 QueryStrategy查詢策略與QueryStrategyCondition查詢策略的條件/20110.3.8 MovingPieceAction移動棋子的動作/20210.3.9 ExpressionGenerator表達式生成器與ExpressionGeneratorCondition表達式生成器的條件/20210.3.10 ManualExpressionExecutor棋譜表達式執行器/20410.3.11 ManualExpression棋譜表達式/20510.3.12 BoutExpression回合表達式/20510.3.13 StepExpression步表達式與StepExpressionCondition步表達式的條件/20510.3.14 Command玩家的行動命令/20710.3.15 ProxyPlayerPlayingChess國際象棋游戲的代理玩家/20810.3.16 ExchangingPawnTouchingDownForAction達陣兌換棋子的動作/20810.3.17 UndoAction悔棋動作/20810.4 本章小結/209第11章 游戲開發模塊整合/21011.1 整合前端/21011.1.1 LoadingScene加載場景/21011.1.2 LobbyScene大廳場景/21311.1.3 ChessTableScene棋盤桌面游戲場景/21811.2 整合后臺/22511.2.1 NestConfiguration游戲后臺配置/22511.2.2 AaronsChessLobby游戲的大廳/22611.2.3 ProxyPlayer游戲的代理玩家/22611.2.4 Main游戲的啟動主類/22611.3 連接前端與后臺/22711.4 本章小結/230第12章 設計原則與模式/23112.1 依賴倒置原則/23212.2 開放封閉原則與去除switch語句和if語句的職責鏈模式/23212.3 工廠模式和使用接口和抽象類編程原則/23512.4 命令模式/23612.5 解釋器模式/23612.6 狀態模式/23712.7 本章小結/237附錄 本書附帶的資源/238