《HTML5遊戲開發實踐指南》是2012年5月機械工業出版社出版的圖書,作者是黃敏。本書全面講解HTML5遊戲開發所需要掌握的各種最新技術、工具和框架(包含Canvas、SVG、WebGL等),以及開發的思維和方法。
基本介紹
- 書名:HTML5遊戲開發實踐指南
- 譯者:黃敏
- ISBN:9787111380344
- 類別:計算機
- 頁數:202
- 出版社:機械工業出版社
- 開本:16
基本信息,編輯推薦,內容簡介,目錄,
基本信息
原書名:Learning HTML5 Game Programming: A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL
作者: (美)Williams,J.L. [作譯者介紹]
叢書名: 華章專業開發者叢書
上架時間:2012-5-16
出版日期:2012 年5月
版次:1-1
編輯推薦
來自美國矽谷的資深專家親自執筆,包含大量實例,可操作性極強。
內容簡介
計算機書籍
《html5遊戲開發實踐指南》以實踐為導向,全面講解了html5遊戲開發所需掌握的各種最新技術、可以使用的各種工具和框架,以及開發的思維和方法,是系統學習html5遊戲開發的最佳選擇之一。
《html5遊戲開發實踐指南》內容全面而且極具前瞻性,不僅重點闡述了html5和javascript的核心技術,而且還仔細講解了webgl、svg、processingjs、inkscape、raphaljs、phonegap、sgf、coffeescript和node.js等與html5開發相關的各種技術、工具、框架、類庫等的功能和使用方法,為html5套用開發者描繪了一幅完整的技術全景圖。更為重要的是,它還深入講解了html5遊戲的運作機制、遊戲開發與設計的思維和方法、遊戲的性能最佳化方法,及其在各種平台上的發布方法。本書的實戰性和可操作性也非常強,包含大量示例,有助於讀者對理論知識進行融會貫通。
全書一共11章:第1章詳細講解了canvas等html5的核心技術;第2章首先介紹了如何搭建一個完善的html5開發環境,然後講解了如何部署html5套用開發需要的web伺服器端工具、瀏覽器端工具以及html5工具;第3章講解了javascript的核心技術以及jquery框架的使用;第4章探討了遊戲的設計思路和遊戲的運行機制;第5~8章以實例的方式講解了如何通過canvas標籤、svg、raphaljs、webgl、three.js、gwt、coffeescript等最新流行的技術和框架來開發遊戲;第9章講解了如何利用現今流行的node.js來構建多人遊戲伺服器;第10章講解了在android、ios、windows phone等主流移動平台上開發html5遊戲的核心技術和phonegap等移動開發框架;第11章探討了html5遊戲的資源最佳化以及在各種平台的完整發布過程。
作譯者回到頂部↑本書提供作譯者介紹
James L.Williams是矽谷一名經驗豐富的開發專家,經常在世界各地講解有關Java、用戶界面和遊戲編程方面的內容。他發明了SwingXBuilder(一種利用SwingX組件創建用戶界面的特定域語言),同時,他還是Griffon項目(一個使用Groovy構建富應用程式的框架)的聯合創始人之一。由他和他的團隊構思、編碼並實現了運行在SXSW上的教練車產品,因此在StartupBus 2011大賽中獲獎。
目錄
《html5遊戲開發實踐指南》
譯者序
前言
第1章 html5概述1
1.1 超越基本的html1
1.1.1 javascript2
1.1.2 ajax2
1.2 填補空白2
1.2.1 google gears3
1.2.2 chrome frame3
1.3 使用websockets和web workers編程4
1.3.1 websockets4
1.3.2 web workers4
1.4 應用程式快取5
1.5 資料庫api6
1.5.1 websql api6
1.5.2 indexeddb api7
1.6 web storage7
1.7 定位8
1.8 提示用戶訊息10
.1.8.1 為顯示提示請求許可權11
1.8.2 創建提示12
1.8.3 與提示信息實現互動13
1.9 媒體元素13
1.9.1 控制媒體播放14
1.9.2 處理不支持的格式15
1.10 繪畫api16
1.10.1 canvas16
1.10.2 svg16
1.10.3 webgl16
1.11 使用microdata傳達信息17
1.12 小結18
第2章 配置開發環境19
2.1 開發工具19
2.1.1 安裝java19
2.1.2 安裝eclipse ide和google外掛程式20
2.1.3 google web toolkit21
2.2 web伺服器端工具和選項22
2.2.1 google app engine23
2.2.2 opera unite23
2.2.3 node.js和ringojs23
2.3 瀏覽器端工具24
2.3.1 chrome開發人員工具24
2.3.2 chrome擴展程式25
2.3.3 safari開發人員工具26
2.3.4 firebug26
2.4 html5工具27
2.4.1 processingjs27
2.4.2 inkscape27
2.4.3 svg-edit27
2.4.4 raphal28
2.5 3d建模工具29
2.6 小結29
第3章 javascript概述30
3.1 什麼是javascript30
3.1.1 javascript基本類型30
3.1.2 理解算術運算符31
3.1.3 理解javascript函式31
3.1.4 first-class對象函式32
3.1.5 比較運算符33
3.2 條件和循環語句34
3.2.1 使用循環控制程式流35
3.2.2 使用settimeout和setinterval函式實現延遲執行36
3.3 使用繼承和多態創建複雜對象37
3.4 jquery簡介39
3.4.1 使用選擇器操作dom元素40
3.4.2 jquery事件41
3.4.3 jquery中的ajax41
3.4.4 跨站點腳本42
3.5 json:另一種javascript格式42
3.6 瀏覽器外的javascript43
3.6.1 移動平台43
3.6.2 將javascript作為中間語言43
3.6.3 桌面套用中的javascript44
3.7 伺服器端javascript45
3.8 小結46
3.9 練習47
第4章 遊戲運行機制48
4.1 遊戲設計48
4.1.1 撰寫基本設計文檔48
4.1.2 確定遊戲類型49
4.1.3 遊戲循環50
4.1.4 獲取用戶輸入50
4.2 使用高級數據結構實現遊戲對象50
4.2.1 使用set構建唯一數據列表50
4.2.2 使用鍊表創建對象圖52
4.3 理解sgf中的api53
4.3.1 核心api53
4.3.2 組件api54
4.3.3 資源api及網路api55
4.4 使用sgf構建桌球遊戲55
4.4.1 設定應用程式56
4.4.2 繪製遊戲配件57
4.5 碰撞檢測和回響59
4.5.1 理解牛頓三大定律59
4.5.2 讓球動起來61
4.5.3 高級碰撞檢測和粒子系統62
4.6 通過人工智慧增加遊戲難度63
4.6.1 將人工智慧套用到桌球遊戲63
4.6.2 將人工智慧套用到井字棋遊戲64
4.7 小結66
4.8 練習66
第5章 使用canvas標籤構建遊戲67
5.1 canvas基礎67
5.1.1 繪製路徑68
5.1.2 繪製井字棋遊戲的棋子69
5.2 使用變換繪製canvas中的對象70
5.2.1 變換規則72
5.2.2 保存和恢復canvas繪圖狀態72
5.3 在canvas中使用圖片73
5.3.1 使用data uri訪問圖片73
5.3.2 使用spritesheets訪問圖片74
5.3.3 在canvas中繪製圖片74
5.4 使用trident.js創建動畫對象75
5.4.1 創建時間線75
5.4.2 使用關鍵幀實現動畫76
5.4.3 使用緩衝函式創建非線性時間線77
5.4.4 使用spritesheets創建遊戲對象動畫78
5.5 在2d空間模擬3d79
5.5.1 透視投影79
5.5.2 視差80
5.5.3 使用javascript創建視差效果80
5.6 創建copy me遊戲82
5.6.1 繪製遊戲對象82
5.6.2 創建遊戲音調82
5.6.3 在瀏覽器中播放midi檔案84
5.6.4 同時播放多個音頻84
5.6.5 順序播放音頻85
5.6.6 繪製遊戲文本86
5.6.7 使用css設定文本字型86
5.7 小結87
5.8 練習87
第6章 使用svg和raphaljs構建遊戲88
6.1 svg概述88
6.2 使用raphaljs89
6.2.1 設定遊戲開發環境90
6.2.2 創建遊戲板91
6.2.3 繪製遊戲文本92
6.3 自定義字型92
6.3.1 設定顏色95
6.3.2 載入遊戲資源96
6.3.3 將svg檔案轉換成點陣圖97
6.4 創建遊戲類98
6.4.1 洗牌99
6.4.2 繪製及卡片動畫100
6.5 製作高級動畫102
6.5.1 路徑102
6.5.2 moveto和lineto103
6.5.3 curveto103
6.5.4 從svg檔案中導出路徑104
6.5.5 在路徑中使用動畫104
6.6 使用外掛程式擴展raphal105
6.6.1 添加函式105
6.6.2 svg濾鏡105
6.7 權衡速度106
6.8 小結106
6.9 練習106
第7章 使用webgl和three.js構建遊戲108
7.1 三維109
7.2 用材質和光源美化對象110
7.2.1 了解照明110
7.2.2 使用材質及著色器111
7.3 創建第一個three.js場景113
7.3.1 設定視角113
7.3.2 觀察世界118
7.4 使用three.js載入3d模型119
7.5 著色及紋理處理的編程121
7.6 使用紋理123
7.7 使用three.js創建遊戲125
7.8 用遊戲模擬真實世界126
7.9 重溫粒子系統129
7.10 創建場景130
7.11 模型動畫設計131
7.12 3d模型資源131
7.13 校準遊戲132
7.13.1 用stats.js檢查幀速率133
7.13.2 運用webgl inspector133
7.14 小結134
7.15 練習134
第8章 不使用javascript構建遊戲135
8.1 google web toolkit135
8.1.1 了解gwt部件及布局136
8.1.2 使用jsni向gwt展示javascript庫137
8.1.3 raphalgwt138
8.1.4 使用gwt-html5-media創建聲音139
8.1.5 使用gwt訪問繪圖api139
8.2 coffeescript140
8.2.1 安裝coffeescript141
8.2.2 編譯coffeescript檔案141
8.3 coffeescript快速指南142
8.3.1 基礎142
8.3.2 函式和調用142
8.3.3 別名、條件語句和循環語句144
8.3.4 增強的for循環和集合視圖144
8.3.5 類和繼承145
8.4 替代技術146
8.4.1 cappuccino146
8.4.2 pyjamas146
8.5 小結147
8.6 練習147
第9章 構建多人遊戲伺服器148
9.1 node.js簡介148
9.1.1 使用node包管理器擴展node149
9.1.2 node的多版本管理149
9.2 使用expressjs簡化web app生成149
9.2.1 使用url路由滿足服務請求150
9.2.2 會話管理152
9.2.3 理解expressjs應用程式的結構152
9.2.4 使用coffeekup定製html模板153
9.3 使用快取存儲數據155
9.4 管理c/s通信155
9.4.1 使用socketio通信156
9.4.2 使用express安裝一個簡單的socketio應用程式156
9.4.3 使用nowjs簡化web sockets157
9.5 調試node應用程式158
9.6 創建遊戲伺服器159
9.6.1 創建遊戲大廳159
9.6.2 使用nowjs groups創建遊戲房間160
9.6.3 管理遊戲玩家和在不同的遊戲房間中移動161
9.7 管理遊戲162
9.8 小結163
9.9 練習163
第10章 開發移動遊戲164
10.1 選擇移動平台164
10.1.1 ios164
10.1.2 android164
10.1.3 webos165
10.1.4 windows phone 7165
10.2 flick、tap和swipe:移動手勢簡介166
10.3 選擇應用程式還是web站點166
10.4 在移動設備上存儲數據168
10.4.1 從lawnchair中解脫:一種相對容易的數據存儲方法168
10.4.2 開始使用lawnchair169
10.5 使用jquery和zepto簡化客戶端腳本170
10.5.1 使用jquery變種170
10.5.2 使用zepto.js171
10.6 使用joapp構建應用程式172
10.7 選擇應用程式框架173
10.7.1 phonegap173
10.7.2 深入phonegap api173
10.7.3 appcelerator titanium175
10.7.4 深入appcelerator titanium api175
10.8 使用titanium和phonegap打包android應用程式176
10.8.1 使用titanium打包應用程式177
10.8.2 使用phonegap打包應用程式179
10.9 小結182
10.10 練習183
第11章 遊戲發布184
11.1 最佳化遊戲資源184
11.1.1 使用google closure編譯器進行代碼小型化184
11.1.2 使用快取運行離執行緒序185
11.2 伺服器的主機服務188
11.3 在部署node.js的伺服器上發布遊戲189
11.4 在chrome web store上發布套用190
11.4.1 描述套用的元數據191
11.4.2 部署主機套用191
11.4.3 部署應用程式包193
11.4.4 在本地測試應用程式193
11.4.5 上傳應用程式到chrome web store193
11.4.6 配置應用程式194
11.4.7 確定使用包套用還是使用chrome主機套用195
11.5 使用tapjs發布套用197
11.5.1 創建tapjs套用197
11.5.2 打包tapjs應用程式199
11.5.3 將tapjs應用程式發布到facebook199
11.6 使用kongregate發布遊戲201
11.7 將html5應用程式發布到桌面201
11.8 小結202
11.9 練習202