-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
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書號
詳細書籍分類

HTML5 2D游戲編程核心技術

( 簡體 字)
作者:(美)戴維·吉爾里(David Geary)類別:1. -> 程式設計 -> 網路編程 -> HTML
譯者:
出版社:機械工業出版社HTML5 2D游戲編程核心技術 3dWoo書號: 45698
詢問書籍請說出此書號!

缺書
NT售價: 495

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

譯者序:

前言:

內容簡介:

本書是為希望使用HTML5進行2D游戲開發,且具備一定JavaScript編程經驗的開發人員而準備的。在本書中,筆者從零開始完整講解了一個復雜的橫向卷軸平臺視頻游戲的開發過程,并將該視頻游戲命名為“SnailBait”。在開發過程中,筆者沒有使用任何第三方圖形框架或游戲框架,因此讀者將從這本書中學會編程實現平滑動畫、Sprite爆炸、開發人員后門程序、游戲難易度設計等所有內容。
目錄:

譯者序
前言
致謝
第1章 概述 1
1.1 Snail Bait游戲 3
1.2 HTML5游戲開發最佳實踐 8
1.2.1 窗口失去焦點時暫停游戲 8
1.2.2 窗口重獲焦點時實現倒計時功能 9
1.2.3 使用CSS實現UI特效 10
1.2.4 對游戲運行緩慢的狀態做出檢測和處理 11
1.2.5 添加社交功能 11
1.2.6 將所有游戲圖像放在單獨的sprite表單中 11
1.2.7 在服務器中存儲高分榜和實時游戲數據 13
1.3 特別功能 13
1.4 Snail Bait游戲中的HTML和CSS 15
1.5 開始Snail Bait游戲編程 21
1.6 本書中使用的JavaScript 23
1.7 小結 25
1.8 練習 26
第2章 原始素材和開發環境 27
2.1 使用開發者工具 28
2.1.1 控制臺 29
2.1.2 Chrome Canary的幀速率計數器 32
2.1.3 調試 34
2.1.4 時間線 35
2.1.5 Profiling 39
2.2 獲取資源 40
2.2.1 圖像 40
2.2.2 圖像處理 41
2.2.3 音效和音樂 41
2.2.4 動畫 42
2.3 使用CSS背景 43
2.4 生成小圖標 45
2.5 縮短編碼周期 46
2.6 小結 48
2.7 練習 48
第3章 圖形和動畫 49
3.1 使用HTML5 canvas元素繪制圖形和圖像 51
3.1.1 繪制背景 52
3.1.2 繪制跑步小人 53
3.1.3 繪制平臺 53
3.2 實現平滑的HTML5動畫 55
3.2.1 requestAnimationFrame()方法 57
3.2.2 requestAnimationFrame()的polyfill實現 57
3.3 實現游戲主循環 60
3.4 計算幀速率 61
3.5 滾動游戲背景 62
3.5.1 平移坐標系 62
3.5.2 滾動Snail Bait游戲的背景 65
3.6 制作基于時間的運動 67
3.7 反轉滾動方向 67
3.8 繪制動畫幀 68
3.9 使用視差產生視深的假象 68
3.10 小結 71
3.11 練習 71
第4章 游戲的基本架構 72
4.1 在JavaScript對象中封裝游戲函數 73
4.1.1 SnailBait的構造函數 74
4.1.2 SnailBait的原型 75
4.2 理解JavaScript語言中挑剔的this指針 77
4.3 處理鍵盤輸入 79
4.4 玩家按p鍵時暫停或者恢復游戲 81
4.5 凍結游戲,確保它精確地在暫停的位置恢復 82
4.6 在窗口失去焦點時暫停游戲 83
4.7 使用動態的倒計時來恢復一個暫停的游戲 84
4.7.1 向游戲玩家顯示提示板(簡短信息) 85
4.7.2 Snail Bait的倒計時 87
4.8 小結 89
4.9 練習 90
第5章 游戲加載動畫 91
5.1 定義Snail Bait游戲的窗口 93
5.2 使用CSS過渡讓元素淡入、淡出 96
5.2.1 讓元素淡入 97
5.2.2 讓元素淡出 98
5.2.3 snailbait-toast元素的CSS 99
5.2.4 顯示和隱藏提示板 100
5.3 讓擁有與CSS過渡屬性Opacity關聯的元素淡入、淡出 103
5.4 實現加載動畫 105
5.5 顯示游戲畫面 109
5.6 小結 112
5.7 練習 113
第6章 sprite對象 114
6.1 sprite對象 116
6.1.1 sprite對象的屬性 118
6.1.2 sprite對象的構造函數 119
6.1.3 sprite對象的方法 119
6.2 將sprite對象整合到游戲主循環中 121
6.3 實現sprite對象的artist對象 124
6.3.1 圖形artist對象 124
6.3.2 圖像artist對象 125
6.3.3 sprite圖像表單artist對象 125
6.3.4 定義sprite圖像表單單元格 128
6.4 創建和初始化游戲的sprite對象 130
6.5 使用元數據定義sprite對象 133
6.6 滾動sprite對象 136
6.7 小結 138
6.8 練習 138
第7章 sprite對象行為 140
7.1 行為基礎 142
7.2 跑步小人行為 143
7.3 跑步小人的跑動行為 146
7.4 輕量級行為 148
7.5 游戲獨立行為 150
7.6 組合行為 155
7.7 小結 159
7.8 練習 159
第8章 時間軸,第1部分:有限行為及線性運動 160
8.1 實現一個初始的跳躍行為算法 161
8.2 將處理跳躍行為的職責轉交給跑步小人 162
8.3 實現跳躍行為 164
8.4 使用秒表記錄動畫時間 165
8.5 重新定義跳躍行為 168
8.6 實現線性運動 170
8.6.1 上升階段 170
8.6.2 下降階段 171
8.7 暫停行為 173
8.8 小結 175
8.9 練習 175
第9章 時間軸,第2部分:非線性運動 176
9.1 理解時間及其衍生物 177
9.2 使用動畫計時器和緩變功能實現非線性跳躍 177
9.3 實現動畫計時器 179
9.4 實現緩變功能 181
9.5 微調緩變功能 184
9.6 實現真實的跳動行為 185
9.7 使行為隨機化 189
9.8 使用動畫計時器和緩變功能實現非線性顏色改變 190
9.9 小結 193
9.10 練習 193
第10章 時間軸,第3部分:時間系統 194
10.1 Snail Bait游戲的時間系統 195
10.2 創建和啟動時間系統 197
10.3 將時間系統整合進Snail Bait游戲中 198
10.3.1 使用時間系統驅動游戲動畫 198
10.3.2 實現使用時間系統修改游戲時間流的函數 199
10.3.3 在計算幀速率時分解時間比率 199
10.3.4 使用時間系統暫停和恢復游戲 200
10.4 重新定義秒表和動畫計時器的當前時間 202
10.5 實現時間系統 206
10.6 小結 208
10.7 練習 208
第11章 碰撞檢測 209
11.1 碰撞檢測過程 210
11.2 碰撞檢測技術 211
11.3 Snail Bait游戲中的碰撞檢測 212
11.3.1 sprite對象的碰撞矩形 212
11.3.2 跑步小人的碰撞行為 214
11.4 為碰撞檢測選擇碰撞候選對象 215
11.5 在跑步小人與其他sprite對象之間檢測碰撞 216
11.6 處理碰撞 217
11.7 優化碰撞檢測 220
11.7.1 改善包圍盒 220
11.7.2 使用空間分割方法 221
11.8 監測碰撞檢測的運行性能 222
11.9 編程實現碰撞檢測的邊界案例 223
11.10 小結 226
11.11 練習 226
第12章 重力 228
12.1 為跑步小人實現墜落行為 228
12.2 實現重力 230
12.2.1 跑步小人的墜落行為 232
12.2.2 計算初始下降速度 236
12.2.3 在跑步小人墜落過程中暫停游戲 237
12.3 最終版的碰撞檢測 237
12.4 小結 238
12.5 練習 239
第13章 sprite動畫和特殊效果 240
13.1 實現sprite動畫 241
13.2 創建特效 246
13.2.1 晃動游戲畫面 246
13.2.2 場景切換 248
13.3 編排效果 253
13.3.1 炸死蜜蜂 254
13.3.2 引爆按鈕 256
13.4 小結 258
13.5 練習 258
第14章 聲音和音樂 259
14.1 創建聲音和音樂文件 261
14.2 加載音樂和音效 262
14.3 設置聲音和音樂控件 263
14.4 播放音樂 264
14.5 循環播放音樂 265
14.6 播放音效 267
14.6.1 創建sprite音頻對象 270
14.6.2 定義音效對象 271
14.6.3 實現多聲道播放音效 272
14.7 打開和關閉聲音播放 279
14.8 小結 280
14.9 練習 280
第15章 移動設備 281
15.1 在移動設備上運行Snail Bait游戲 284
15.2 檢測移動設備 284
15.3 縮放游戲以適應移動設備 286
15.3.1 HTML5 viewport元標簽 287
15.3.2 以編程方式調整游戲畫面以適應移動設備屏幕 291
15.4 修改游戲動畫底部的控制說明 295
15.5 修改歡迎界面 295
15.5.1 實現歡迎提示 296
15.5.2 實現移動設備中的控制說明 301
15.5.3 實現移動設備版開始提示 305
15.5.4 顯示移動設備中的開始提示 306
15.6 添加觸控事件 307
15.7 在移動設備中處理音頻的方法 310
15.8 在主屏幕上添加啟動圖標,并以全屏模式運行游戲 312
15.9 小結 313
15.10 練習 313
第16章 粒子系統 314
16.1 排煙孔粒子系統 315
16.2 使用排煙孔粒子系統 318
16.2.1 定義排煙孔粒子系統數據 318
16.2.2 創建排煙孔粒子系統 318
16.2.3 將排煙孔粒子系統存入Snail Bait游戲的sprite對象數組中 319
16.2.4 在每個動畫幀中滾動排煙孔粒子系統 320
16.3 編程實現排煙孔粒子系統 321
16.3.1 把排煙孔粒子系統偽裝成sprite對象 321
16.3.2 組合火焰粒子 323
16.3.3 組合煙泡 327
16.4 暫停排煙孔粒子系統 337
16.5 小結 338
16.6 練習 338
第17章 用戶界面 339
17.1 記錄玩家游戲成績 340
17.2 增加游戲生命指示器 343
17.3 顯示游戲字幕 348
17.4 使用Tweet發布玩家游戲得分 354
17.5 當游戲運行緩慢時通知游戲玩家 357
17.5.1 監控幀速率 361
17.5.2 編程實現運行緩慢通知的事件處理句柄 363
17.6 編程實現通關動畫 364
17.7 小結 368
17.8 練習 368
第18章 開發者后門程序 370
18.1 Snail Bait游戲的開發者后門 372
18.2 開發者后門的HTML元素及CSS 373
18.3 顯示及隱藏開發者后門 375
18.4 更新開發者后門的元素 377
18.5 實現開發者后門的復選框 378
18.5.1 顯示及隱藏碰撞矩形 380
18.5.2 啟用或禁用運行緩慢通知 382
18.5.3 顯示或隱藏排煙孔粒子系統 383
18.5.4 更新開發者后門的復選框 383
18.6 實現開發者后門的滑動條 384
18.6.1 為開發者后門的滑動條定義HTML元素及CSS 386
18.6.2 在Snail Bait游戲的Java-Script代碼中訪問滑動條的讀數 387
18.6.3 創建并初始化開發者后門的滑動條 388
18.6.4 將運行緩慢的滑動條關聯到游戲中 389
18.6.5 將時間速率滑動條關聯到游戲中 389
18.6.6 將游戲關聯到時間速率滑動條上 390
18.6.7 在顯示開發者后門之前更新滑動條 391
18.7 實現開發者后門刻度尺 392
18.7.1 創建并訪問刻度尺的canvas元素 393
18.7.2 淡入淡出刻度尺 394
18.7.3 繪制刻度尺 395
18.7.4 更新刻度尺 396
18.7.5 拖動游戲畫面 397
18.8 小結 401
18.9 練習 401
第19章 服務器端開發:內部指標、高分記錄及部署 403
19.1 Node.js及socket.io簡介 404
19.2 在Snail Bait游戲中引入socket.io 406
19.3 創建一個簡單的服務器 407
19.4 在服務器端創建套接字 407
19.5 啟動服務器 408
19.6 在客戶端創建一個套接字并連接到服務器 408
19.7 記錄游戲內部指標 409
19.8 管理高分記錄 412
19.8.1 實現高分記錄的用戶界面 413
19.8.2 檢索服務器中的高分記錄 415
19.8.3 在客戶端顯示高分記錄 418
19.8.4 監視姓名輸入 419
19.8.5 驗證并將高分記錄存儲到服務器 420
19.8.6 重新顯示高分記錄 422
19.8.7 開始新游戲 422
19.9 部署Snail Bait游戲 423
19.10 將文件上傳到服務器 425
19.11 小結 426
19.12 練習 426
第20章 后記:Bodega Revenge游戲 428
20.1 設計用戶界面 430
20.2 創建sprite表單 433
20.3 實例化游戲 433
20.4 實現sprite對象 434
20.4.1 炮塔 434
20.4.2 炮彈 437
20.4.3 小鳥 439
20.5 實現sprite對象的行為 441
20.5.1 炮塔的行為 442
20.5.2 炮彈的行為 447
20.5.3 小鳥的行為 450
20.6 繪制剩余炮彈指示器 454
20.7 為移動設備實現觸摸控制 456
20.8 小結 458
20.9 練習 459
序: