前 言
導(dǎo) 言
第1章 問(wèn)答游戲 1
1.1 第一步:出題 1
1.2 第二步:隱藏題目 8
1.3 第三步:重現(xiàn)題目 9
1.4 第四步:引入各種程序庫(kù) 11
1.5 第五步:判斷玩家所選答案是否正確 15
1.6 小結(jié) 19
第2章 文字冒險(xiǎn)游戲 20
2.1 第一步:設(shè)計(jì)頁(yè)面樣式 21
2.2 第二步:實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn) 25
2.3 第三步:添加道具欄及道具拖放功能 27
2.4 第四步:添加復(fù)雜的交互功能 35
2.5 第五步:添加歷史記錄導(dǎo)航功能 44
2.6 第六步:添加精彩的結(jié)局 46
2.7 小結(jié) 48
第3章 派對(duì)游戲 50
3.1 第一步:采用atom.js創(chuàng)建范例游戲 50
3.2 第二步:用canvas元素繪圖 56
3.3 第三步:繪制鼠洞 58
3.4 第四步:繪制鼴鼠 60
3.5 第五步:將鼴鼠放入鼠洞 63
3.6 第六步:令鼴鼠從洞中鉆出來(lái) 65
3.7 第七步:使玩家可通過(guò)敲擊鍵盤(pán)來(lái)打鼴鼠 67
3.8 HTML5的[audio]標(biāo)簽并不盡如人意 70
3.9 小結(jié) 72
第4章 解謎游戲 73
4.1 第一步:用easel.js來(lái)渲染 74
4.2 第二步:渲染多個(gè)方塊 78
4.3 第三步:創(chuàng)建成對(duì)出現(xiàn)的同色方塊 81
4.4 第四步:配對(duì)并消除同色方塊 83
4.5 第五步:隱藏與翻轉(zhuǎn)圖片 85
4.6 第六步:勝負(fù)判定 87
4.7 第七步:緩存與性能優(yōu)化 91
4.8 第八步:將方塊配對(duì)游戲改為字母認(rèn)讀游戲 93
4.9 小結(jié) 99
第5章 平臺(tái)游戲 100
5.1 初識(shí)melon.js 100
5.2 第一步:創(chuàng)建瓦片地圖 101
5.3 第二步:?jiǎn)?dòng)游戲 102
5.4 第三步:加入游戲角色 105
5.5 第四步:構(gòu)建碰撞圖層 107
5.6 第五步:行走與跳躍 108
5.7 第六步:標(biāo)題畫(huà)面 110
5.8 第七步:添加可供玩家收集的物品 112
5.9 第八步:添加敵人 113
5.10 第九步:添加能力提升道具 115
5.11 第十步:添加勝負(fù)判定機(jī)制并顯示游戲信息 116
5.12 小結(jié) 118
第6章 格斗游戲 120
6.1 第一步:初識(shí)game.js 120
6.2 第二步:?jiǎn)为?dú)繪制精靈表中的各個(gè)精靈 123
6.3 第三步:處理兩位玩家的輸入 124
6.4 第四步:移動(dòng)與變形 127
6.5 第五步:不要使兩位玩家的輸入互相阻塞 130
6.6 第六步:用位掩碼記錄按鍵狀態(tài) 134
6.7 第七步:用掩碼來(lái)檢測(cè)碰撞 137
6.8 第八步:令兩個(gè)游戲角色可以互相攻擊對(duì)方 140
6.9 小結(jié) 145
第7章 飛行射擊游戲 146
7.1 與渲染有關(guān)的準(zhǔn)備知識(shí) 146
7.2 第一步:初識(shí)gameQuery 148
7.3 第二步:添加“敵機(jī)” 150
7.4 第三步:創(chuàng)建己方戰(zhàn)機(jī) 153
7.5 第四步:處理玩家與敵人的碰撞 156
7.6 第五步:發(fā)射子彈 157
7.7 第六步:為玩家提供多種武器 159
7.8 小結(jié) 162
第8章 第一人稱(chēng)射擊游戲 164
8.1 第一步:初識(shí)Jaws 164
8.2 第二步:創(chuàng)建二維地圖 166
8.3 第三步:增添玩家 169
8.4 第四步:用光線(xiàn)投射技術(shù)繪制俯視圖 173
8.5 第五步:用光線(xiàn)投射技術(shù)實(shí)現(xiàn)偽三維效果 177
8.6 第六步:為玩家配備照相機(jī) 180
8.7 第七步:裝點(diǎn)游戲場(chǎng)景 184
8.8 第八步:添加同伴 188
8.9 小結(jié) 195
第9章 角色扮演游戲 197
9.1 第一步:初識(shí)enchant.js 197
9.2 第二步:創(chuàng)建地圖 199
9.3 第三步:增添玩家 202
9.4 第四步:添加碰撞層 207
9.5 第五步:繪制狀態(tài)畫(huà)面 209
9.6 第六步:與NPC對(duì)話(huà) 212
9.7 第七步:繪制道具欄 215
9.8 第八步:開(kāi)設(shè)道具店 218
9.9 第九步:實(shí)現(xiàn)戰(zhàn)斗界面 226
9.10 第十步:通過(guò)HTML5的本地存儲(chǔ)API來(lái)存儲(chǔ)游戲進(jìn)度 236
9.11 小結(jié) 238
第10章 即時(shí)戰(zhàn)略游戲 240
10.1 服務(wù)器 240
10.2 第一步:配置Node 243
10.3 第二步:用socket.io實(shí)現(xiàn)即時(shí)通信 246
10.4 第三步:用crafty.js創(chuàng)建Isometric地圖 249
10.5 第四步:繪制棋子 251
10.6 第五步:移動(dòng)棋子 255
10.7 第六步:使玩家只能控制己方棋子,并將對(duì)方棋子上面的圖案隱藏起來(lái) 258
10.8 第七步:實(shí)現(xiàn)碰撞檢測(cè),令玩家能吃掉對(duì)方棋子并看到其圖案 264
10.9 小結(jié) 268
第11章 如何繼續(xù)提升游戲開(kāi)發(fā)水平 270
11.1 本書(shū)已經(jīng)講過(guò)的內(nèi)容 270
11.2 接下來(lái)應(yīng)該學(xué)習(xí)的內(nèi)容 271
附錄A JavaScript基礎(chǔ) 273
附錄B 代碼質(zhì)量控制 280
附錄C 資源 285?