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

Egret——HTML5游戲開發指南

( 簡體 字)
作者:張鑫磊 等類別:1. -> 程式設計 -> 網路編程 -> HTML
   2. -> 遊戲 -> 遊戲程式
譯者:
出版社:電子工業出版社Egret——HTML5游戲開發指南 3dWoo書號: 43575
詢問書籍請說出此書號!

缺書
NT售價: 425

出版日:3/1/2016
頁數:488
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121281938
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

前言
為什么要寫這本書
2015年HTML5游戲可謂是異常火爆,從最初的單機小游戲,到后來的中重度網絡游戲如雨后春筍般涌現。隨著市場的需求增多,越來越多的開發者投入到HTML5游戲開發行業中來。Egret算是較早進入HTML5游戲領域的引擎,隨著Egret使用者的增多,開發者對于教程的渴望程度也愈發強烈。事實上,我們在1年前就著手準備書籍的撰寫,但鑒于當時Egret仍然處于發展期,新功能變化較多,所以書籍的事情也一拖再拖。直到Egret 2.5版本發布,所有功能模塊才最終趨于穩定狀態。其實,早在2.5版本發布之前,本書的第一個版本已經完成,而后我們又針對2.5版本進行了修改與調整。希望這本書能夠盡量做到最好。
如果大家在學習中遇到技術問題,或者發現不清楚的地方,可以訪問Egret社區(http://bbs.egret.com)和我們溝通交流。
本書特點
1.內容豐富,由淺入深
本書在內容組織上本著“起點低,重點高”的原則,內容覆蓋了從Egret必知必會的基礎知識,到Egret中所涉及的高級功能,如DragonBones、P2物理引擎等內容。為了讓讀者更加方便地學習本書的內容,在每個章節中,我們還提供了一些實際的游戲項目案例,讓大家在實踐中學習。
2.結構清晰,講解到位
本書中每個章節環環相扣,從最基礎的矢量繪圖,到位圖操作,再到動畫等知識,使得初學者非常容易上手。后面的高級部分,可讓讀者深入學習游戲中一些高級技巧。
3. 完整的案例源代碼
為了便于讀者學習,我們提供書中所有案例的完整源代碼,讀者可以直接導入開發環境中運行,仔細研究其效果,能最大限度地幫助讀者掌握開發技術。
本書適合的讀者
喜歡游戲并且懷揣夢想的有志青年。
想成為HTML5 游戲開發者的人,本書中的內容會教會你HTML5 游戲開發所需要的絕大部分技能。
具備其他平臺游戲開發經驗的人,閱讀本書會讓你了解并且掌握HTML5 獨特的開發技巧。
前端開發工程師,本書將帶你進入到HTML5 游戲開發領域。
本書分工與致謝
本書一共有5 位作者,整體設計以及撰寫思路由張鑫磊負責,其中第1 章、第2 章、第4章、第9 章、第12 章、第14 章、第16 章、第17 章由張鑫磊撰寫,第3 章、第7 章、第11 章、第13 章、第15 章由王建文撰寫,第5 章、第6 章、第8 章、第10 章由楊嘯撰寫,第18 章由劉晨光撰寫,第19 章由陳文登撰寫。
在此由衷地感謝一直以來支持我們的開發者以及支持本書的所有人!
由于作者的水平和學識有限,且書中所涉及的知識較多,難免有錯誤、疏漏之處,敬請廣大讀者批評指正,并多提寶貴意見。
內容簡介:

本書向大家介紹HTML5游戲行業最新動態以及未來發展方向,同時也提及了當前HTML5技術相關市場。全書針對Egret HTML5游戲做了全方位講解,涉及游戲中的渲染方法、音頻與網絡的處理。游戲中常用的GUI使用方法,同時還為大家講解了DraongBones骨骼動畫系統、P2物理引擎系統和HTML5游戲中性能和網絡的優化技巧。

目錄:

第1 章 歡迎來到HTML5 的世界 1
1.1 什么是HTML5 1
1.2 HTML5 的前世今生 3
1.3 W3C 與WHATWG 工作組 4
1.4 令人稱贊的Canvas 與WebGL 5
1.4.1 Canvas 5
1.4.2 WebGL 5
1.5 何為HTML5 游戲 6
1.5.1 從技術角度出發 6
1.5.2 從非技術角度出發 6
1.6 HTML5 游戲的特點與痛點 6
1.6.1 特點 7
1.6.2 痛點 8
1.7 HTML5 游戲的當下與未來 9
1.7.1 產品研發階段 9
1.7.2 測試上線運營階段 12
1.7.3 未來 13
1.8 小結 13
第2 章 奇妙的前端之旅 14
2.1 JavaScript 的苦與痛 14
2.2 偉大的ECMAScript 標準 15
2.2.1 ECMAScript 標準是什么 15
2.2.2 歷史 15
2.2.3 版本 16
2.3 JavaScript 的代替品:Dart、CoffeeScript、
TypeScript 16
2.3.1 Dart 16
2.3.2 CoffeeScript 17
2.3.3 TypeScript 17
2.4 初出茅廬的WebAssembly 18
2.4.1 WebAssembly 是什么 18
2.4.2 asm.js 18
2.5 HTML5 游戲開發利器——游戲引擎 18
2.6 一個神器:Egret Runtime 19
2.6.1 什么是Egret Runtime 19
2.6.2 為什么要用 Egret Runtime 19
2.7 小結 21
第3 章 Hello Egret 22
3.1 Egret 引擎簡介 22
3.1.1 Egret 引擎的特點 22
3.1.2 Egret 引擎的主要功能 23
3.1.3 Egret 引擎的應用案例 24
3.2 搭建開發環境 25
3.2.1 Egret 引擎版本的選擇 25
3.2.2 Egret Wing:強大的IDE 工具 31
3.2.3 ResDepot:資源管理工具 33
3.2.4 Texture Merger:資源打包工具 33
3.3 Hello World 34
3.3.1 創建第一個項目 34
3.3.2 運行項目 36
3.3.3 修改一下,成為自己的Hello World
37
3.4 Hello World 分析 38
3.4.1 項目源代碼目錄 38
3.4.2 項目配置文件 38
3.4.3 項目運行庫 39
3.4.4 項目編譯目錄 39
3.4.5 項目資源目錄 40
3.4.6 項目發布目錄 40
3.5 庫與代碼風格 41
3.5.1 Egret 引擎的代碼風格 41
3.5.2 核心庫與擴展庫的使用方法 42
3.5.3 第三方庫的集成方法 42
3.6 命令行模式詳解 45
3.6.1 創建項目 45
3.6.2 編譯項目 45
3.6.3 運行項目 46
3.6.4 發布項目 47
3.6.5 了解更多 47
3.7 小結 48
第4 章 游戲的基礎知識 49
4.1 顯示對象 49
4.1.1 什么是顯示對象 49
4.1.2 坐標系 51
4.1.3 顯示對象的種類 57
4.1.4 顯示列表 58
目錄
4.2 顯示對象的架構 58
4.2.1 容器與非容器 58
4.2.2 DisplayObject 類與DisplayObjectContainer 類 62
4.2.3 Sprite 與Shape 62
4.3 Shape 矢量圖 67
4.3.1 繪制矩形 68
4.3.2 清空繪圖 70
4.3.3 繪制圓形 70
4.3.4 繪制直線 72
4.3.5 繪制曲線 74
4.3.6 繪制圓弧 76
4.3.7 多個形狀的繪制 77
4.4 顯示列表與容器類 79
4.4.1 關于顯示容器 79
4.4.2 添加與刪除顯示對象 81
4.4.3 顯示對象操作的注意點 83
4.5 遮罩與碰撞檢測 87
4.5.1 遮罩的使用 87
4.5.2 非精確碰撞檢測 91
4.5.3 精確碰撞檢測 92
4.5.4 包圍盒碰撞 94
4.6 混合模式 96
4.6.1 NORMAL 模式 96
4.6.2 ADD 模式 99
4.6.3 ERASE 模式 102
4.7 小結 103
第5 章 事件與用戶交互 104
5.1 事件消息機制 104
5.1.1 事件處理機制的原理 104
5.1.2 第一個事件處理的例子 105
5.1.3 事件流機制 105
5.2 事件 107
5.2.1 事件類 107
5.2.2 自定義事件 110
5.3 偵聽器 110
5.3.1 創建偵聽器 110
5.3.2 注冊偵聽器與移除偵聽器 112
5.3.3 偵聽器中的this 112
5.4 事件的優先級 113
5.5 自定義事件發送類 114
5.5.1 繼承EventDispatcher 114
5.5.2 復合EventDispatcher 114
5.5.3 實現IEventDispatcher 接口 115
5.6 觸摸事件 117
5.6.1 觸摸事件類型 117
5.6.2 開啟touchEnable 117
5.7 實踐:同色點點看 118
5.8 小結 125
第6 章 游戲資源管理 126
6.1 RES 資源加載模塊 126
6.2 資源配置文件 127
6.3 加載資源配置文件 129
6.3.1 外部文件 129
6.3.2 直接讀取 130
6.3.3 對比說明 130
6.4 預加載資源組 131
6.5 動態創建資源組 132
6.6 讀取資源文件 133
6.7 資源的緩存機制 135
6.8 釋放資源 136
6.9 內置文件類型解析器 136
6.9.1 配置九宮格參數 136
6.9.2 配置聲音資源 138
6.9.3 讀取解析二進制文件 138
6.10 擴展資源文件類型解析器 139
6.11 小結 139
第7 章 位圖操作 140
7.1 創建位圖 140
7.1.1 認識位圖 140
7.1.2 位圖格式 140
7.1.3 位圖來源 141
7.1.4 位圖加載 141
7.1.5 位圖顯示 141
7.2 操作紋理集 142
7.2.1 從RES 中獲取紋理 142
7.2.2 SpriteSheet 紋理集類 142
7.3 紋理填充方式 145
7.3.1 位圖填充拉伸以填充區域 146
7.3.2 重復位圖以填充區域 146
7.4 位圖的九宮格 147
7.4.1 緣起 147
7.4.2 九宮格原理 148
7.4.3 代碼中使用九宮格 148
7.4.4 通過ResDepot 設置九宮格 149
7.5 濾鏡 151
7.5.1 濾鏡可用性及WebGL 開關 151
7.5.2 發光濾鏡 152
7.5.3 投影濾鏡 153
7.5.4 顏色矩陣濾鏡 154
目錄VII
7.5.5 模糊濾鏡 156
7.5.6 設置濾鏡品質 157
7.5.7 濾鏡使用優化技巧 157
7.6 實踐:《抓間諜》 158
7.6.1 游戲設計稿 158
7.6.2 準備素材 158
7.6.3 編寫代碼 158
7.7 小結 162
第8 章 文本 163
8.1 普通文本 163
8.1.1 創建普通文本 163
8.1.2 設置文本樣式 168
8.1.3 字體的設置 170
8.1.4 多樣式混合文本 172
8.1.5 設置文本超鏈接 175
8.2 輸入文本 177
8.2.1 創建可輸入文本 177
8.2.2 設置輸入文本樣式 178
8.3 位圖文本 179
8.3.1 創建位圖文本字體 179
8.3.2 位圖文本的使用 181
8.4 實踐:游戲登錄和活動公告板 183
8.5 小結 192
第9 章 動畫與粒子特效 193
9.1 逐幀動畫 193
9.1.1 逐幀動畫簡介 193
9.1.2 動畫素材制作方法 194
9.1.3 創建一個逐幀動畫 198
9.1.4 播放和暫停動畫 202
9.1.5 跳轉動畫 202
9.1.6 動態切換動畫數據 202
9.1.7 動畫的緩存機制 203
9.1.8 動畫數據詳解 203
9.2 緩動動畫 206
9.2.1 Tween 緩動動畫 206
9.2.2 緩動的基本用法 207
9.2.3 緩動對象的基本控制參數 208
9.2.4 緩動對象的緩動變化事件 208
9.2.5 緩動過程參數設定 208
9.2.6 緩動對象的其他方法 208
9.3 粒子特效 209
9.3.1 粒子系統簡介 209
9.3.2 粒子系統使用 210
9.3.3 自定義粒子特效 211
9.4 小結 212
第10 章 音樂與音效 214
10.1 聲音類 214
10.1.1 egret.Sound 類 214
10.1.2 使用聲音類 215
10.2 音頻控制類 218
10.2.1 播放 218
10.2.2 音量 218
10.2.3 暫停 218
10.3 聲音事件 222
10.4 音樂與音效類型設置 225
10.5 小結 226
第11 章 數據操作 227
11.1 JSON 數據操作 227
11.1.1 JSON 數據格式簡介 227
11.1.2 為什么使用JSON 數據格式 228
11.1.3 在Egret 中加載JSON 數據 229
11.1.4 在Egret 中操作JSON 數據 229
11.2 二進制數據操作 230
11.2.1 讀取二進制數據對象 230
11.2.2 寫入字節流 230
11.2.3 定位字節流指針 231
11.2.4 讀取字節流 231
11.2.5 大端模式與小端模式 232
11.3 實踐:仿《找你妹》游戲 233
11.3.1 游戲策劃案 233
11.3.2 準備資源 234
11.3.3 編寫代碼 235
11.4 小結 240
第12 章 網絡通信 241
12.1 HTTP 網絡請求 241
12.1.1 構建簡單的網絡請求 241
12.1.2 POST 與 GET 請求 242
12.1.3 發送帶有數據的網絡請求 244
12.1.4 檢測網絡請求狀態 247
12.2 WebSocket 通信 247
12.2.1 創建WebSocket 連接 248
12.2.2 發送數據 249
12.2.3 讀取數據 249
12.2.4 WebSocket 的網絡狀態 250
12.2.5 斷開與重連服務器 251
12.3 實踐:游戲中的聊天室 251
12.4 小結 259
第13 章 計時器與心跳控制器 260
13.1 Timer 260
13.1.1 創建計時器 260
13.1.2 加入計時器事件偵聽 260
13.1.3 啟動計時器 261
13.1.4 修改計時器時間間隔 261
13.1.5 修改計時器 261
13.2 Ticker 262
13.2.1 Ticker 與Timer 的不同 262
13.2.2 開啟心跳偵聽 262
13.2.3 移除心跳偵聽 263
13.2.4 Ticker 的最新用法 263
13.3 setTimeout 與clearTimeout 264
13.4 getTimer 265
13.5 《抓間諜》和《找你妹》 265
13.5.1 《抓間諜》 265
13.5.2 《找你妹》 267
13.6 小結 268
第14 章 反射機制與依賴注入 270
14.1 反射機制 270
14.1.1 什么是反射機制 270
14.1.2 getDefinitionByName 方法 274
14.1.3 獲取運行時對象類型 275
14.1.4 檢查域內定義 276
14.2 依賴注入 277
14.2.1 什么是依賴注入 277
14.2.2 Injector 注入器 278
14.2.3 注入器的應用場景 281
14.3 小結 281
第15 章 屏幕適配與環境交互 282
15.1 4 種屏幕適配策略 282
15.1.1 設置屏幕適配策略 282
15.1.2 exactFit 模式 283
15.1.3 noScale 模式 283
15.1.4 showAll 模式 284
15.1.5 fixedWidth 模式和fixedHeight 模式 285
15.1.6 noBorder 模式 286
15.1.7 在程序內設置縮放模式 286
15.2 屏幕方向設置 286
15.2.1 豎屏模式 287
15.2.2 橫屏模式 288
15.2.3 反向橫屏模式 288
15.2.4 自動模式 289
15.3 環境交互 289
15.3.1 Egret 與網頁JavaScript 交互 289
15.3.2 讀取網頁GET 參數 290
15.4 小結 290
第16 章 調試與性能檢測 291
16.1 TypeScript 斷點調試 291
16.2 日志輸出面板 298
16.2.1 打開日志顯示開關 299
16.2.2 輸出日志 299
16.2.3 顯示臟矩形和幀頻信息 299
16.3 Egret Inspector 瀏覽器調試工具 300
16.3.1 安裝Egret Inspector 301
16.3.2 運行Egret Inspector 302
16.4 小結 302
第17 章 打包發布到原生平臺 303
17.1 打包原生APP 原理 303
17.1.1 編譯型語言和解釋型語言 303
17.1.2 瀏覽器內核與JavaScript 解釋器 303
17.2 打包為iOS 原生APP 304
17.2.1 下載Egret iOS Support 305
17.2.2 將HTML5 游戲打包為iOS 原生
APP 305
17.3 打包為Android 原生APP 306
17.3.1 下載Egret Android Support 306
17.3.2 將HTML5 游戲打包為Android 原
生APP 306
17.4 打包為Runtime 版本 308
17.4.1 打包Egret Runtime 版本 308
17.4.2 測試Runtime 版本游戲 309
17.4.3 Egret Runtime 中的白名單 310
17.5 小結 311
第18 章 DragonBones 骨骼動畫系統 312
18.1 DragonBones 簡介 312
18.1.1 DragonBones 的由來 312
18.1.2 DragonBones 產品家族 313
18.1.3 DragonBones 產品特點 313
18.2 2D 骨骼動畫的基本概念 314
18.2.1 骨骼動畫的優勢和原理 314
18.2.2 DragonBones 2D 骨骼動畫中的常用術語 314
18.3 DragonBones Pro 介紹 316
18.3.1 DragonBones Pro 的下載與安裝 316
18.3.2 編輯界面詳解 318
18.3.3 基本動畫項目 329
18.3.4 項目的導入與導出 331
18.4 DragonBones 骨骼動畫開發入門 333
18.4.1 做好準備工作 333
18.4.2 學習一個示例 334
18.5 DragonBones 骨骼動畫數據格式詳解 338
18.5.1 DragonBones 4.0 格式說明 338
18.5.2 Armature 數據格式 341
18.5.3 Bone 數據格式 342
18.5.4 Slot 數據格式 342
18.5.5 Skin 數據格式 343
18.5.6 Animation 數據格式 344
18.6 DragonBones 骨骼動畫事件系統詳解 346
18.7 DragonBones 常用高級特性 347
18.7.1 動態換裝 347
18.7.2 程序控制骨骼運動 349
18.7.3 改變動畫速度 349
18.7.4 動畫復用 350
18.7.5 動畫遮罩與混合 350
18.8 DragonBones 極速模式 351
18.8.1 極速模式簡介 351
18.8.2 快速使用極速模式 352
18.8.3 極速模式詳解 353
18.8.4 深入使用數據緩存 355
18.9 小結 356
第19 章 P2 物理引擎 357
19.1 P2 物理引擎簡介 357
19.1.1 什么是P2 物理引擎 357
19.1.2 創建一個P2 物理項目 358
19.1.3 用p2DebugDraw 實現模擬視圖 361
19.2 P2 中的形狀 365
19.2.1 形狀 365
19.2.2 形狀屬性 375
19.2.3 形狀貼圖 378
19.3 剛體屬性 380
19.3.1 速度相關 380
19.3.2 角度相關 383
19.3.3 對象相關 385
19.3.4 其他屬性 385
19.4 剛體操作 388
19.4.1 addBody 和removeBody 388
19.4.2 addShape 和removeShape 388
19.4.3 adjustCenterOfMass 391
19.4.4 applyForce 393
19.4.5 applyImpulse 398
19.4.6 sleep 和wakeup 403
19.4.7 emit、on、off、has 406
19.4.8 fromPolygon 408
19.4.9 hitTest 413
19.4.10 getAABB 416
19.4.11 getArea 421
19.4.12 setDensity 421
19.4.13 overlaps 422
19.4.14 toWorldFrame 和toLocalFrame 426
19.4.15 rayCast 429
19.4.16 RayCastResult 類 432
19.4.17 Raycast 應用實例 433
19.5 碰撞處理 438
19.5.1 認識碰撞 439
19.5.2 碰撞事件 442
19.5.3 碰撞信息Equation 445
19.6 關節 452
19.6.1 DistanceConstraint 452
19.6.2 GearConstraint 457
19.6.3 LockConstraint 458
19.6.4 PrismaticConstraint 464
19.6.5 RevoluteConstraint 469
19.7 彈簧 474
19.7.1 LinearSpring 474
19.7.2 RotationalSpring 476
19.8 小結 477
序: