游戲開發實戰寶典( 簡體 字) | |
作者:媛之家 | 類別:1. -> 遊戲 -> 遊戲程式 |
出版社:機械工業出版社 | 3dWoo書號: 54980 詢問書籍請說出此書號! 有庫存 NT售價: 495 元 |
出版日:8/1/2021 | |
頁數:252 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111685210 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1部分 梗概/1
第1章 直擊問題關鍵及本書概要/2 1.1 軟件開發的關鍵/2 1.2 游戲開發從業者的層次和挑戰/3 1.3 本書的目標/3 1.4 本章小結/4 第2部分 Egret編程指南/5 第2章 Egret Engine編程基礎/6 2.1 Egret引擎簡介/6 2.2 引擎的安裝、配置與發布/6 2.2.1 安裝Egret啟動器/6 2.2.2 啟動Egret啟動器并安裝引擎和編輯器/8 2.2.3 創建默認項目/10 2.2.4 通過默認項目講解項目配置/14 2.2.5 第三方擴展庫/16 2.2.6 發布項目/18 2.3 顯示對象和顯示容器/19 2.3.1 舞臺/19 2.3.2 坐標系統以及基本屬性/20 2.3.3 添加與刪除顯示對象/21 2.3.4 深度管理/25 2.4 矢量繪圖/26 2.4.1 繪制圓形/26 2.4.2 繪制直線/27 2.4.3 繪制曲線/28 2.4.4 繪制圓弧/29 2.5 遮罩/31 2.6 碰撞檢測/31 2.6.1 邊框級別的碰撞檢測/31 2.6.2 像素級別的碰撞檢測/32 2.7 文本/33 2.7.1 三種文本類型/33 2.7.2 文本樣式/34 2.8 事件機制/41 2.8.1 Egret事件處理機制/41 2.8.2 Egret的觸摸事件/43 2.9 網絡/44 2.9.1 發送HTTP請求/44 2.9.2 發送帶參數的請求/45 2.10 本章小結/45 第3章 Egret Engine高級開發/46 3.1 位圖紋理/46 3.1.1 基本知識/46 3.1.2 九宮格/48 3.1.3 紋理的填充方式/49 3.1.4 紋理集/50 3.2 顏色效果/51 3.2.1 混合模式/51 3.2.2 濾鏡/53 3.3 時間控制/58 3.3.1 計時器/58 3.3.2 心跳/59 3.3.3 幀事件/60 3.4 多媒體/61 3.4.1 音頻/61 3.4.2 視頻/61 3.5 屏幕適配/62 3.5.1 縮放模式/62 3.5.2 旋轉模式/67 3.6 調試/70 3.7 本章小結/71 第4章 Egret擴展庫編程指南/72 4.1 RES資源加載/72 4.1.1 資源加載配置文件/72 4.1.2 加載資源配置文件及資源組/73 4.2 EUI庫/74 4.2.1 基本組件/74 4.2.2 組件容器/82 4.2.3 皮膚/88 4.3 Tween緩動庫/89 4.3.1 基本功能/89 4.3.2 緩動對象的其他方法/90 4.4 WebSocket庫/91 4.5 P2物理系統庫/93 4.6 本章小結/96 第5章 sparrow-egret游戲前端框架/97 5.1 MVC架構模式/97 5.1.1 PureMVC簡明教程/97 5.1.2 PureMVC在sparrow-egret里的應用/100 5.2 sparrow-egret功能介紹/101 5.2.1 程序入口/101 5.2.2 監聽資源的加載/102 5.2.3 場景堆棧/104 5.2.4 代理服務器/106 5.2.5 請求、響應、推送以及處理響應和推送/107 5.3 本章小結/110 第3部分 Netty編程指南/111 第6章 Netty快速入門/112 6.1 搭建開發環境/112 6.1.1 安裝JDK/112 6.1.2 安裝IDE/112 6.1.3 安裝Gradle/112 6.2 第一個Netty應用程序/113 6.2.1 創建EchoServer/113 6.2.2 創建EchoClient/120 6.3 Channel/122 6.4 ByteBuf/124 6.4.1 ByteBuf的模式/124 6.4.2 讀寫操作/125 6.4.3 生成ByteBuf實例/127 6.5 ChannelHandler和ChannelPipeline/128 6.5.1 ChannelHandler/128 6.5.2 ChannelPipeline/129 6.5.3 ChannelHandlerContext/130 6.5.4 異常處理/131 6.6 編解碼器/131 6.6.1 解碼器/131 6.6.2 編碼器/132 6.7 WebSocket幀處理器/133 6.7.1 實現HTTP連接/133 6.7.2 處理WebSocket幀/134 6.7.3 定義ChannelInitializer/135 6.8 SSL處理器/136 6.9 本章小結/136 第7章 JCommon和nest編程指南/137 7.1 PPA編程模型/137 7.2 JCommon和nest的組件概述/138 7.2.1 Server服務器類/138 7.2.2 Lobby大廳的基類/139 7.2.3 NestRoot根類/141 7.2.4 BaseConfiguration配置的基類/142 7.2.5 ProxyPlayerEnteringRoom代理玩家的基類/142 7.2.6 Request請求的基類/143 7.2.7 Response響應的基類/144 7.2.8 Push推送的基類/145 7.2.9 Action動作的基類/145 7.2.10 Room房間的基類/146 7.2.11 Table桌面的基類/146 7.2.12 ClassScanner類掃描器/149 7.3 本章小結/150 第8章 前端后臺實戰項目—游戲聊天室/151 8.1 游戲聊天室功能/151 8.2 前端程序的實現/151 8.2.1 引入第三方庫/151 8.2.2 請求、響應以及推送協議的設計/152 8.2.3 場景、推送處理器以及對話框的設計/153 8.2.4 實現資源加載監聽器/156 8.2.5 實現入口類—Main/157 8.2.6 小結/158 8.3 后臺程序的實現/158 8.3.1 修改gradle構建腳本/158 8.3.2 代理玩家的實現/158 8.3.3 大廳的實現/159 8.3.4 請求、響應以及推送/159 8.3.5 動作的實現/159 8.3.6 配置類的實現/159 8.3.7 程序啟動類/160 8.4 連接前端與后臺/160 8.4.1 啟動后臺程序/160 8.4.2 啟動前端程序/161 8.5 本章小結/162 第4部分 綜合實戰/163 第9章 實戰項目—貪吃蛇/164 9.1 貪吃蛇項目的設計/164 9.2 代碼解析/165 9.2.1 GameScene游戲場景類/165 9.2.2 Snake蛇類/170 9.2.3 SnakeHead蛇頭類/174 9.2.4 SnakeBody蛇身類/175 9.2.5 Driver控制器類/175 9.2.6 Direction方向類/177 9.3 本章小結/178 第10章 綜合實戰項目—國際象棋/179 10.1 前端與后臺的輔助工具—TreeBranch/179 10.1.1 安裝protobuf命令行程序和庫/179 10.1.2 編寫協議配置文件/180 10.1.3 在Python執行環境下安裝TreeBranch/182 10.1.4 用TreeBranch編寫前端和后臺項目的代碼自動生成 腳本/182 10.1.5 小結/186 10.2 sparrow-egret-games-chess項目詳解/186 10.2.1 SquareComponent棋盤格組件/187 10.2.2 PieceComponent棋子組件/188 10.2.3 ChessBoardViewComponent棋盤組件/188 10.2.4 ChessBoardState棋盤狀態/191 10.2.5 通知處理器/192 10.2.6 對話框/194 10.3 nest-games-chess項目詳解/195 10.3.1 ChessRoom象棋房間/196 10.3.2 ChessTable象棋桌面/196 10.3.3 ChessBoard象棋棋盤/197 10.3.4 Piece棋子/198 10.3.5 QueryingLegalMovesAction查詢合法走法的動作/200 10.3.6 QueryResult合法走法查詢的結果/200 10.3.7 QueryStrategy查詢策略與QueryStrategyCondition查詢 策略的條件/201 10.3.8 MovingPieceAction移動棋子的動作/202 10.3.9 ExpressionGenerator表達式生成器與ExpressionGenerator Condition表達式生成器的條件/202 10.3.10 ManualExpressionExecutor棋譜表達式執行器/204 10.3.11 ManualExpression棋譜表達式/205 10.3.12 BoutExpression回合表達式/205 10.3.13 StepExpression步表達式與StepExpressionCondition 步表達式的條件/205 10.3.14 Command玩家的行動命令/207 10.3.15 ProxyPlayerPlayingChess國際象棋游戲的代理玩家/208 10.3.16 ExchangingPawnTouchingDownForAction達陣兌換棋子 的動作/208 10.3.17 UndoAction悔棋動作/208 10.4 本章小結/209 第11章 游戲開發模塊整合/210 11.1 整合前端/210 11.1.1 LoadingScene加載場景/210 11.1.2 LobbyScene大廳場景/213 11.1.3 ChessTableScene棋盤桌面游戲場景/218 11.2 整合后臺/225 11.2.1 NestConfiguration游戲后臺配置/225 11.2.2 AaronsChessLobby游戲的大廳/226 11.2.3 ProxyPlayer游戲的代理玩家/226 11.2.4 Main游戲的啟動主類/226 11.3 連接前端與后臺/227 11.4 本章小結/230 第12章 設計原則與模式/231 12.1 依賴倒置原則/232 12.2 開放封閉原則與去除switch語句和if語句的職責鏈 模式/232 12.3 工廠模式和使用接口和抽象類編程原則/235 12.4 命令模式/236 12.5 解釋器模式/236 12.6 狀態模式/237 12.7 本章小結/237 附錄 本書附帶的資源/238 本書講解了游戲開發中用到的相關技術,主要包括前端和后端兩部分內容,并結合前端與后端技術給出了幾個實戰項目的設計及實現方法。
本書分4部分,共12章。第壹部分(第1章)為梗概,介紹了軟件開發的關鍵、游戲開發從業者的層次和挑戰以及本書的目標。 第 2 部分(第2~5章)先介紹了Egret Engine編程技術,包括編程基礎、高級開發和擴展庫編程。隨后講解了sparrow-egret游戲前端框架的編程技術,包括MVC架構模式以及sparrow-egret游戲前端框架的主要功能。 第 3 部分(第6~8章)先介紹了Netty的主要功能,然后給出了作者開發的基于JCommon和nest的游戲組件的使用方法。*后給出了一個基于前端和后臺功能相結合的實戰項目—游戲聊天室。 第 4 部分(第9~12章)則比較詳細地講解了作者基于先前框架所開發的游戲實戰項目—貪吃蛇和網絡對戰國際象棋。同時,介紹了一款可以和先前框架配合使用的自動生成代碼的腳本工具—TreeBranch。在本書的*后兩章,還講解了功能框架以及實戰項目里所涉及的游戲開發模塊整合以及設計原則與模式,并展示了筆者的設計思路。 本書實例部分及章節源碼解讀難點部分均配有二維碼講解視頻,方便讀者自學時觀看使用。 本書適用于游戲編程初、中級開發人員,游戲開發高手也可以通過閱讀本書擴展自己的設計思路。 |