HTML5游戲開發(fā)進(jìn)階指南

出版時(shí)間:2013-9  出版社:電子工業(yè)出版社  作者:[印]香卡(Shankar,A.R.)  譯者:謝光磊  
Tag標(biāo)簽:無  

內(nèi)容概要

本書介紹了HTML5 游戲開發(fā)的一般過程和技巧。全書共分12 章,第1 章介紹了本書相關(guān)的HTML5的諸多新特性,包括在canvas 上繪圖、播放聲音等,另外還引入了子畫面頁的概念;第2~4 章利用Box2D物理引擎開發(fā)了一款非常類似于《憤怒的小鳥》的游戲,全面介紹了物理引擎的概念,以及在游戲中使用物理引擎的方法,這一部分還引入了視差滾動技巧,以實(shí)現(xiàn)某種偽3D 效果;第5~10 章開發(fā)了一款簡化版的《紅色警戒》游戲,這一部分涉及了相當(dāng)多的內(nèi)容,包括地圖的制作,建筑與單位的設(shè)定、繪制,玩家與單位的互動,觸發(fā)器與劇情的編寫,路徑規(guī)劃算法等;第11、12 章利用nodeJS 和WebSocket 開發(fā)了《紅色警戒》游戲的多人對戰(zhàn)模式,這一部分的主要問題是保持游戲在多個玩家的瀏覽器中的狀態(tài)一致。
對于熟悉前端開發(fā),想用前端技術(shù)做一些更酷的事情,卻又不知如何下手的人,這是一本可多得的好書。

作者簡介

Aditya Ravi Shankar是在1993年第一次接觸計(jì)算機(jī)之后開始學(xué)習(xí)編程的。當(dāng)時(shí)還沒有互聯(lián)網(wǎng)和在線教程,他在當(dāng)?shù)貓D書館找到一本編程書籍,并通過艱苦地重寫書中的代碼,編寫了他的第一個GW-BASIC游戲。
2001年,他從印度理工學(xué)院畢業(yè)之后,做了近10年的軟件顧問,為投資銀行和大型企業(yè)開發(fā)交易與分析系統(tǒng)。最后,他離開了這個行業(yè),這樣他可以專注于從事自己所熱愛的游戲開發(fā)。
從此,作為一個自信的極客,他使用各種新的語言和技術(shù)來進(jìn)行自己的項(xiàng)目和實(shí)驗(yàn),包括HTML5。在這期間,他獨(dú)立在HTML5平臺上重建了著名的命令與征服RTS游戲,他也因此而著名。
除了編程,Aditya還喜歡桌球、薩爾薩舞,以及學(xué)習(xí)發(fā)揮潛意識。他在其個人站點(diǎn)(www.adityaravishankar.com)中有一些關(guān)于游戲編程、個人發(fā)展和桌球的文章。
當(dāng)他不忙于寫作,或者不用專注于自己的項(xiàng)目時(shí),他也會做一些咨詢工作,以幫助企業(yè)來使用新的軟件產(chǎn)品。
譯者簡介
謝光磊,中科院某所碩士研究生在讀。熱愛生活,熱愛Web前端開發(fā),熱愛WebGL技術(shù)。理想是成為一流的游戲設(shè)計(jì)師。個人站點(diǎn):www.xieguanglei.com。
技術(shù)審核者簡介
Shane Hudson是一位自由的Web站點(diǎn)開發(fā)者,專注于最前沿的Web技術(shù)和Web標(biāo)準(zhǔn)。他曾經(jīng)參與過大量交互式Web站點(diǎn)的工作并輔助項(xiàng)目的開發(fā),具有豐富的使用JavaScript的經(jīng)驗(yàn)。他對人工智能和計(jì)算機(jī)視覺具有濃厚的興趣,他的E-mail地址是shane@shanehud son.net。
Shane說:“Shankar撰寫的這本書正是業(yè)界所需要的:關(guān)于如何有效并熟練地編寫JavaScript(和Node.js)。這本書教你如何編寫游戲,但它并不僅僅是一本關(guān)于游戲開發(fā)的書,還是一本教你如何編寫高質(zhì)量JavaScript代碼的書。”
Josh Robinson是一位專注于前沿技術(shù)的編程專家和自由開發(fā)者。他對編程的熱愛最初來自一臺二手的Commodore 64計(jì)算機(jī)屏幕上的藍(lán)色熒光,后來他選擇現(xiàn)代Web開發(fā)作為自己的職業(yè)。2006年,他供職于一家網(wǎng)絡(luò)電話供應(yīng)商之時(shí),發(fā)現(xiàn)了Ruby和Ruby on Rails的優(yōu)雅之處,并開發(fā)了若干個gem,其中包括流行的countries gem。你可以通過JoshRobinson.com或者Twitter: @JoshRobinson聯(lián)系到他。
Josh Robinson說:“有了這本書,你就能像一個Boss一樣寫代碼了?!?br />Syd Lawrence經(jīng)營并管理著We Make Awesome Sh,他是Twilio的開發(fā)者和傳播者。他獲得過很多贊譽(yù)。Geek.com曾經(jīng)將他形容為現(xiàn)代的超級英雄,而The Next Web曾經(jīng)說他是社交網(wǎng)絡(luò)的領(lǐng)袖。

書籍目錄

第1章  HTML5與JavaScript概要	1
1.1 canvas元素 2
1.1.1 繪制矩形 3
1.1.2 繪制復(fù)雜形狀或路徑 5
1.1.3 繪制文本 7
1.1.4 自定義畫筆樣式(顏色和紋理) 8
1.1.5 繪制圖像 9
1.1.6 平移和旋轉(zhuǎn) 10
1.2 audio元素 11
1.3 image元素 14
1.3.1 圖像加載 15
1.3.2 子畫面頁(精靈圖) 15
1.4 動畫:計(jì)時(shí)器和游戲循環(huán) 17
1.4.1 requestAnimationFrame 18
1.5 小結(jié) 20
第2章 創(chuàng)建基本的游戲世界 21
2.1 基本HTML布局 21
2.2 創(chuàng)建啟動畫面和主菜單 22
2.3 關(guān)卡選擇 26
2.4 加載圖像 29
2.5 加載關(guān)卡 33
2.6 動畫 34
2.7 處理鼠標(biāo)輸入 37
2.8 設(shè)置游戲階段 39
2.9 小結(jié) 42
第3章 物理引擎基礎(chǔ) 43
3.1 Box2D基礎(chǔ) 43
3.1.1 引入Box2D 44
3.1.2 定義World變量 45
3.1.3 添加第一個物體:地面 46
3.1.4 繪制世界:調(diào)試?yán)L圖模式 48
3.1.5 動畫 50
3.2 更多的Box2D元素 52
3.2.1 創(chuàng)建矩形物體 52
3.2.2 創(chuàng)建圓形物體 54
3.2.3 創(chuàng)建多邊形物體 56
3.2.4 創(chuàng)建多種形狀的復(fù)雜物體 58
3.2.5 連接物體的接合點(diǎn) 61
3.3 追蹤碰撞與破壞 64
3.3.1 接觸監(jiān)聽器 65
3.4 繪制角色 68
3.5 小結(jié) 71
第4章 物理引擎集成 72
4.1 定義物體 72
4.2 添加Box2D 75
4.3 創(chuàng)建物體 78
4.4 向關(guān)卡加入物體 79
4.5 設(shè)置Box2D調(diào)試?yán)L圖 82
4.6 繪制物體 84
4.7 Box2D動畫 86
4.8 加載英雄 88
4.9 發(fā)射英雄 91
4.10 結(jié)束關(guān)卡 94
4.11 碰撞損壞 96
4.12 繪制彈弓橡膠帶 99
4.13 切換關(guān)卡 101
4.14 添加聲音 103
4.14.1 添加斷裂和反彈的音效 104
4.14.2 添加背景音樂 107
4.15 小結(jié) 110
第5章 創(chuàng)建即時(shí)戰(zhàn)略游戲世界 111
5.1 基本HTML布局 112
5.2 創(chuàng)建啟動畫面和主菜單 112
5.3 地圖與關(guān)卡 118
5.4 加載任務(wù)簡介畫面 120
5.5 制作游戲界面 124
5.6 實(shí)現(xiàn)地圖平移 131
5.7 小結(jié) 137
第6章 加入單位 138
6.1 定義單位 138
6.2 第一個物體:主基地 139
6.3 為關(guān)卡添加單位 143
6.4 繪制單位 147
6.5 添加星港 150
6.6 添加煉油廠 154
6.7 添加炮塔 157
6.8 添加車輛 160
6.9 添加飛行器 165
6.10 添加地形 170
6.11 選中游戲單位 175
6.12 強(qiáng)調(diào)選中的單位 178
6.13 小結(jié) 183
第7章 單位智能移動 184
7.1 命令單位 184
7.2 發(fā)送和接收命令 186
7.3 執(zhí)行指令 188
7.4 實(shí)現(xiàn)飛行器移動 189
7.5 路徑規(guī)劃 195
7.6 定義尋徑格網(wǎng) 196
7.7 實(shí)現(xiàn)車輛移動 203
7.8 碰撞檢測和導(dǎo)航 207
7.9 將采油車展開為煉油廠 214
7.10 流暢移動 215
7.11 小結(jié) 219
第8章 添加更多的游戲元素 220
8.1 實(shí)現(xiàn)基本的經(jīng)濟(jì)系統(tǒng) 220
8.1.1 設(shè)置啟動資金 220
8.1.2 實(shí)現(xiàn)側(cè)邊欄 223
8.1.3 獲取資金 225
8.2 購買建筑和單位 226
8.2.1 添加側(cè)邊欄按鈕 226
8.2.2 啟用與禁用側(cè)邊欄按鈕 229
8.2.3 在星港建造車輛和飛行器 232
8.2.4 從基地建造建筑 241
8.3 結(jié)束關(guān)卡 249
8.3.1 實(shí)現(xiàn)消息對話框 250
8.3.2 實(shí)現(xiàn)觸發(fā)器 254
8.4 小結(jié) 259
第9章 添加武器和戰(zhàn)斗 261
9.1 實(shí)現(xiàn)戰(zhàn)斗系統(tǒng) 261
9.1.1 添加炮彈 261
9.1.2 炮塔的戰(zhàn)斗指令 269
9.1.3 飛行器的戰(zhàn)斗指令 274
9.1.4 車輛的戰(zhàn)斗指令 279
9.2 創(chuàng)建智能的敵人 284
9.3 添加戰(zhàn)爭迷霧 287
9.3.1 定義迷霧對象 287
9.3.2 繪制迷霧 290
9.3.3 禁止在迷霧上建造建筑 293
9.4 小結(jié) 295
第10章 完成單人戰(zhàn)役 296
10.1 添加音效 296
10.1.1 創(chuàng)建音效 296
10.1.2 命令確認(rèn)音效 298
10.1.3 消息提示音 301
10.1.4 戰(zhàn)斗音效 302
10.2 創(chuàng)建單人戰(zhàn)役 303
10.2.1 救援 303
10.2.2 襲擊 312
10.2.3 抵抗圍攻 318
10.3 小結(jié) 329
第11章 WebSocket與多人對戰(zhàn)模式 331
11.1 使用Node.js操作WebSocket API 331
11.1.1 瀏覽器端的WebSocket 331
11.1.2 使用Node.js創(chuàng)建HTTP服務(wù)器 334
11.1.3 創(chuàng)建WebSocket服務(wù)器 336
11.2 創(chuàng)建多人對戰(zhàn)游戲大廳 339
11.2.1 定義多人對戰(zhàn)大廳界面 339
11.2.2 游戲房間列表 341
11.2.3 進(jìn)入和離開房間 345
11.3 啟動多人對戰(zhàn)游戲 351
11.3.1 定義多人對戰(zhàn)關(guān)卡 351
11.3.2 加載多人戰(zhàn)役關(guān)卡 354
11.4 小結(jié) 359
第12章 多人對戰(zhàn)游戲操作 360
12.1 同步網(wǎng)絡(luò)模型 360
12.1.1 測量網(wǎng)絡(luò)傳輸時(shí)間 361
12.1.2 發(fā)送命令 365
12.2 結(jié)束多人對戰(zhàn) 370
12.2.1 玩家被擊敗時(shí)結(jié)束游戲 370
12.2.2 玩家斷開連接時(shí)結(jié)束游戲 375
12.2.3 玩家丟失連接時(shí)結(jié)束游戲 376
12.3 實(shí)現(xiàn)玩家聊天 378
12.4 小結(jié) 382
索引 384

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    HTML5游戲開發(fā)進(jìn)階指南 PDF格式下載


用戶評論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7