注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)工具書/標(biāo)準(zhǔn)微信小游戲開發(fā):前端篇

微信小游戲開發(fā):前端篇

微信小游戲開發(fā):前端篇

定 價:¥139.00

作 者: 李藝 著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111716839 出版時間: 2023-02-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  “微信小游戲開發(fā)”系列圖書包含本書和《微信小游戲開發(fā):后端篇》,融匯了騰訊云TVP李藝多年來的一線項目研發(fā)和教學(xué)經(jīng)驗。本書*大的特點是基于一個精心設(shè)計的PBL實戰(zhàn)項目,以模擬項目迭代重構(gòu)的方式,循序漸進地介紹前端所有的知識點和技能,包括但不限于計算機網(wǎng)絡(luò)通信基礎(chǔ)、JS編程語言、面向?qū)ο蟮能浖O(shè)計思想和設(shè)計模式、模塊化編程思想、小游戲開發(fā)技巧等。為了方便讀者學(xué)習(xí),隨書還附有相應(yīng)的完整源碼。本書共分為三篇。第一篇(第1章),潛龍勿用,共2課,介紹微信小游戲是如何運行的,以及如何創(chuàng)建第一個小游戲項目。第二篇(第2~5章),見龍在田,共14課。第2~3章介紹如何用HTML5技術(shù)實現(xiàn)一個小游戲;第4~5章介紹如何將這個HTML5小游戲改寫成微信小游戲,方便開發(fā)者從4399平臺或3366平臺上學(xué)習(xí)與借鑒開發(fā)技巧。第三篇(第6~11章),龍戰(zhàn)于野,共16課。本篇是本書的實戰(zhàn)重點,主要介紹如何對小游戲項目進行重構(gòu),因為好的軟件不是事先設(shè)計出來的,而是通過不斷重構(gòu)慢慢迭代出來的。第6~8章介紹小游戲項目的模塊化重構(gòu)方法,第9~11章介紹小游戲項目的面向?qū)ο笾貥?gòu)方法。

作者簡介

  李藝騰訊云TVP,有近 20 年互聯(lián)網(wǎng)軟件研發(fā)經(jīng)驗,參與研發(fā)的音視頻直播軟件產(chǎn)品曾在騰訊QQ上線,有數(shù)千萬人使用;一汽大眾等企業(yè)內(nèi)訓(xùn)講師,北京協(xié)同創(chuàng)新研究院人工智能項目技術(shù)負(fù)責(zé)人。他是國內(nèi)早期閃客之一,曾自定義課件標(biāo)準(zhǔn)并完成全平臺教育課件產(chǎn)品研發(fā),被Adobe官方選為中國社區(qū)管理員。業(yè)余喜歡寫作,創(chuàng)建微信公眾號和視頻號“藝述論”,用以分享技術(shù)教程,是微信學(xué)堂“小程序性能優(yōu)化實踐”和極客時間“微信小程序全棧開發(fā)實戰(zhàn)”的專欄作者,著有《小程序從0到1:微信全棧工程師一本通》等書。

圖書目錄

第一篇 潛龍勿用
第1章 創(chuàng)建小游戲項目  2
第1課 創(chuàng)建項目  2
了解小游戲的雙線程運行機制  2
注冊開發(fā)者賬號  4
安裝微信開發(fā)者工具  5
創(chuàng)建第一個小游戲項目  6
項目測試:本地預(yù)覽與手機預(yù)覽  7
基于文件監(jiān)聽實現(xiàn)自動預(yù)覽  8
了解小游戲示例項目的項目結(jié)構(gòu)  11
小游戲如何調(diào)試代碼  13
拓展:如何安裝、配置 Node.js和
babel-node  17
了解面向?qū)ο缶幊逃嘘P(guān)的基本
概念  18
本課小結(jié)  20
第2課 微信小游戲是如何運行的  21
創(chuàng)建畫布  21
拓展:如何給變量命名  22
如何繪制矩形  23
拓展:如何理解小游戲的全局變量及
作用域  24
如何清空畫布  25
如何繪制網(wǎng)絡(luò)圖片  25
如何在小游戲中實現(xiàn)動畫  28
如何實現(xiàn)人機交互  29
拓展:如何理解局部變量  30
拓展:了解微信小游戲的API
風(fēng)格  31
本課小結(jié)  32
第二篇 見龍在田
第2章 編寫一個簡單的HTML5
小游戲:打造游戲界面  34
第3課 繪制游戲標(biāo)題  35
安裝與配置Visual Studio Code  35
學(xué)習(xí)使用HTML標(biāo)記,開始繪制游戲標(biāo)題  36
拓展:如何使用const 關(guān)鍵字  39
拓展:如何給代碼添加注釋  40
如何改變字體、字號和顏色  40
拓展:在font-family中要使用中文字體的英文名稱  42
如何給文本添加文本樣式  42
如何在繪制文本中使用漸變色  44
如何讓文本居中繪制  46
拓展:為什么要在代碼中使用
常量  48
本課小結(jié)  48
第4課 繪制擋板  48
如何在畫布上繪制直線  48
拓展:JS的8個基本數(shù)據(jù)類型,如何進行類型判斷  50
給畫布添加一個淺色背景  53
如何加厚擋板  54
拓展:JS中的數(shù)值類型、布爾類型是如何進行類型轉(zhuǎn)換的  55
如何給擋板添加圓角、陰影效果  56
使用路徑填充和矩形繪制擋板  58
如何使用顏色漸變對象和圖像填充材質(zhì)繪制擋板  60
拓展:什么是區(qū)塊作用域  65
拓展:了解數(shù)字類型,警惕0.1 0.2不等于0.3  66
拓展:如何批量聲明變量、常量  67
本課小結(jié)  67
第5課 繪制小球  68
如何使用弧線繪制圓形   68
如何使用arc方法直接繪制圓形  70
本課小結(jié)  71
第6課 繪制分界線  71
分別通過lineTo和漸變色繪制
分界線  71
拓展:CSS 顏色值有哪些格式  73
使用函數(shù)繪制間隔效果  75
拓展:如何定義和使用函數(shù)  77
使用循環(huán)繪制分界線  81
拓展:使用比較運算符、if控制語句
和算術(shù)運算符  84
拓展:JS的5種循環(huán)控制語句  86
將函數(shù)當(dāng)作變量使用  87
拓展:如何理解JS的作用域鏈與
閉包  90
拓展:如何使用集合對象 Map 與
Set  92
本課小結(jié)  95
第3章 編寫一個簡單的HTML5小游戲:完成交互功能  96
第7課 實現(xiàn)動畫:讓小球動起來  96
使用定時器實現(xiàn)動畫  96
拓展:如何理解JS的異步執(zhí)行
機制  98
拓展:了解13種復(fù)合賦值運算符  99
完成動畫的關(guān)鍵:清屏  99
如何實現(xiàn)小球與屏幕的碰撞
檢測  103
拓展:復(fù)習(xí)使用if else if 語句  105
使用 requestAnimationFrame改進動畫流暢度  106
本課小結(jié)  108
第8課 監(jiān)聽用戶事件:讓擋板動
起來  108
繪制左擋板  108
使右擋板可以上下自主移動  110
改用函數(shù)繪制擋板  111
監(jiān)聽用戶輸入,使用鼠標(biāo)(或觸摸)
事件操控左擋板  112
實現(xiàn)擋板與球的碰撞檢測  114
拓展:如何使用邏輯運算符  115
統(tǒng)計分?jǐn)?shù)  116
拓展:復(fù)習(xí)批量聲明變量,可以將
逗號放在前面  117
在游戲結(jié)束時添加反饋  118
拓展:加號與模板字符串  120
本課小結(jié)  121
第9課 實現(xiàn)游戲的重啟功能  122
繪制重新開始游戲的文本提示  122
理解HTML5的事件模型,監(jiān)聽單擊
事件實現(xiàn)重啟功能  123
拓展:如何使用removeEvent---
Listener  127
本課小結(jié)  128
第10課 控制游戲音效:添加單擊
音效和背景音樂  128
如何使用標(biāo)簽播放聲音  128
如何使用JS代碼播放聲音  132
給項目添加背景音樂  133
使用圖片材質(zhì)繪制背景音樂按鈕  134
使用離屏畫布繪制背景音樂按鈕  136
使用drawImage繪制背景音樂
按鈕  138
監(jiān)聽背景音樂按鈕的單擊事件  139
拓展:如何使用條件運算符  140
本課小結(jié)  141
第4章 移植及優(yōu)化  142
第11課 移植準(zhǔn)備工作  143
創(chuàng)建代碼片段與改寫項目  143
拓展:在小游戲中如何獲取屏幕
尺寸  144
拓展:關(guān)于代碼自動提示  146
本課小結(jié)  146
第12課 移植音頻和事件  146
處理getElementById is not a function
錯誤  146
播放音頻:處理Audio is not defined
錯誤  148
處理Audio錯誤:canPlayType is not
a function  150
處理currentTime錯誤:currentTime
是只讀屬性  151
擋板繪制:處理Image is not defined
錯誤  152
拓展:復(fù)習(xí)條件運算符和短路評估
表達式  153
準(zhǔn)備移植事件監(jiān)聽,認(rèn)識小游戲的
觸摸事件  154
拓展:targetTouches、touches和changedTouches的區(qū)別  156
改寫click事件與mousemove
事件  157
拓展:關(guān)于小游戲的運行環(huán)境  161
本課小結(jié)  161
第13課 移植文本與圖像  161
處理標(biāo)題文本不顯示的問題  162
拓展:實現(xiàn)漸變、陰影效果的替代
方案  167
解決左擋板移動到底部不顯示的
問題  167
使背景音樂循環(huán)播放  168
優(yōu)化分?jǐn)?shù)文本、擋板、小球與背景
音樂按鈕的參數(shù)  170
拓展:如何在測試時靜音  173
本課小結(jié)  173
第5章 移植后對小游戲進行平臺
功能優(yōu)化  174
第14課 繪制微信用戶頭像  174
小游戲有哪些授權(quán)范圍  174
不能直接查詢“用戶信息”的授權(quán)
情況  175
使用 UserInfoButton   176
拓展:為什么要使用全等運算符
而不是等號運算符  180
繪制用戶頭像  181
拓展:學(xué)習(xí)使用箭頭函數(shù)及判定
this對象  182
主動銷毀按鈕  194
控制頭像大小,讓左擋板默認(rèn)
展示  195
主動查詢用戶授權(quán)  196
拓展:如何在測試中清理緩存  200
本課小結(jié)  200
第15課 添加游戲反饋  201
添加Toast提示  201
在提示窗口中自定義icon  202
使用模態(tài)彈窗  204
拓展:游戲渲染的幀率可以
修改嗎  206
本課小結(jié)  207
第16課 添加超時限制  208
限制游戲30s結(jié)束  208
拓展:復(fù)習(xí)定時器的使用  209
讓游戲支持重啟  215
及時清除定時器  216
本課小結(jié)  217
第三篇 龍戰(zhàn)于野
第6章 模塊化重構(gòu)一:準(zhǔn)備重構(gòu)  220
第17課 梳理游戲邏輯  221
在小游戲中如何使用全局變量  221
拓展:作用域與使用let關(guān)鍵字實現(xiàn)
批量變量聲明  222
整理代碼,將變量與常量放在文件
頂部  223
梳理游戲邏輯,明確6個周期
函數(shù)  227
添加start函數(shù)  228
添加end函數(shù)  228
添加init函數(shù)  230
添加loop函數(shù)  232
及時移除事件監(jiān)聽  234
本課小結(jié)  236
第18課 JS如何創(chuàng)建對象及如何實現(xiàn)
模塊化  236
使用原型繼承對象  237
使用構(gòu)造函數(shù)創(chuàng)建對象  238
拓展:理解__proto__與prototype
屬性  239
拓展:如何理解原型及原型鏈  242
基于原型鏈實現(xiàn)萬能的類型檢測方法instanceOf  244
使用class關(guān)鍵字創(chuàng)建類對象  245
使用CommonJS規(guī)范  246
使用ES Module規(guī)范  247
拓展:對比CommonJS規(guī)范和ES Module規(guī)范的差異  248
本課小結(jié)  251
第7章 模塊化重構(gòu)二:重構(gòu)背景音樂、小球和擋板  252
第19課 創(chuàng)建背景音樂模塊  252
開始創(chuàng)建背景音樂模塊  252
拓展:重新認(rèn)識class和函數(shù)調(diào)用中的this  258
拓展:認(rèn)清JS的內(nèi)存管理  261
拓展:了解代碼的優(yōu)化評判標(biāo)準(zhǔn)  263
改進復(fù)用性和易用性:將數(shù)據(jù)參數(shù)化,設(shè)置參數(shù)的默認(rèn)值  263
改進封裝性:將內(nèi)部成員私有化  266
優(yōu)化圖片渲染:由多次加載改為
加載一次  268
改進封裝性:添加getter  269
對易用性的改進:直接導(dǎo)出單例  271
本課小結(jié)  272
第20課 創(chuàng)建小球模塊  272
開始創(chuàng)建小球模塊  272
使用跨文件常量  274
拓展:使用defineProperty將變量改為常量  275
創(chuàng)建Ball類  276
本課小結(jié)  282
第21課 創(chuàng)建擋板模塊  282
開始創(chuàng)建Panel類  282
使用繼承實現(xiàn)左、右擋板  291
拓展:復(fù)習(xí)JS實現(xiàn)繼承的方式  297
拓展:復(fù)習(xí)類型檢測操作符
typeof與instanceof的不同  300
本課小結(jié)  301
第8章 模塊化重構(gòu)三:重構(gòu)記分板、
背景、頁面和游戲?qū)ο蟆 ?03
第22課 創(chuàng)建記分板模塊  303
實現(xiàn)兩個記分板類  303
拓展:復(fù)習(xí)ES Module的導(dǎo)出與
導(dǎo)入  312
使用工具方法drawText  313
隱藏分?jǐn)?shù)變量  314
本課小結(jié)  316
第23課 創(chuàng)建游戲背景對象和游戲
對象  316
創(chuàng)建背景對象  317
為創(chuàng)建游戲?qū)ο笞鰷?zhǔn)備  320
讓音頻管理者接管單擊音效  321
實現(xiàn)游戲?qū)ο驡ame類  323
拓展:復(fù)習(xí)使用bind改變this
對象  331
本課小結(jié)  332
第24課 創(chuàng)建頁面對象  332
創(chuàng)建游戲結(jié)束頁面  333
創(chuàng)建游戲主頁對象  338
本課小結(jié)  347
第25課 重構(gòu)游戲?qū)ο蟆 ?47
一個文件只定義一個類  347
為Game類添加#currentPage
變量  352
解決30s超時限制不起作用的
問題  356
移除#gameIsOver變量  359
本課小結(jié)  359
第9章 面向?qū)ο笾貥?gòu)一:重構(gòu)游戲
對象等  361
第26課 設(shè)計模式重構(gòu)一:單例模式、觀察者模式和組合模式  362
將Game類改寫為單例模式  362
在Game類上應(yīng)用觀察者模式  364
使用組合模式改寫用戶記分板
模塊  370
本課小結(jié)  381
第27課 設(shè)計模式重構(gòu)二:模板方法
模式、職責(zé)鏈模式和簡單工
廠模式  381
在頁面對象中啟用模板方法模式  382
使用職責(zé)鏈模式改寫單擊音效
實現(xiàn)  386
使用簡單工廠模式改寫turnToPage
方法  391
本課小結(jié)  396
第10章 面向?qū)ο笾貥?gòu)二:頁面對象
和分界線的繪制  397
第28課 設(shè)計模式重構(gòu)三:工廠方法
模式和抽象工廠模式  397
使用工廠方法模式創(chuàng)建Page頁面
對象  397
使用抽象工廠模式封裝頁面對象的
創(chuàng)建過程  400
本課小結(jié)

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號