了不起的LayaBox:HTML5游戲開發指南

了不起的LayaBox:HTML5游戲開發指南

作者: 沈毅
出版社: 電子工業
出版在: 2021-12-01
ISBN-13: 9787121424922
ISBN-10: 7121424924
裝訂格式: 平裝
總頁數: 364 頁





內容描述


LayaBox是一個優秀的中國國產游戲引擎品牌,旗下的LayaAir游戲引擎已被廣泛應用於微信、QQ等諸多小游戲平臺,同時也可以用於游戲App的開發。HTML5技術具有良好的傳播性,是當下進行游戲創作的首選技術。本書以前端開發普遍使用的JavaScript作為編程語言,以兩個簡單且完整的游戲項目作為主線,循序漸進地介紹游戲開發的相關知識和技能,完整地展示了游戲開發從0到1的實現過程。


目錄大綱


第1章 初識LayaBox
1.1 關於HTML5遊戲 2
1.2 LayaBox簡介 3
1.3 搭建工作環境 4
1.3.1 Chrome瀏覽器的下載和安裝 4
1.3.2 騰訊COS 5
1.3.3 LayaAir IDE 2.0的下載和使用 8
1.3.4 微信開發者工具的下載和使用 17
1.4 小結 20
第2章 第一個2D遊戲
2.1 遊戲需求 21
2.2 新建項目 22
2.3 Stage、Sprite、Graphics 27
2.4 美術資源的準備 36
2.4.1 單張圖片資源 36
2.4.2 圖集資源 37
2.5 加載和使用美術資源 39
2.5.1 單張圖片資源的加載和使用 39
2.5.2 圖集資源的加載和使用 40
2.6 添加文字 45
2.7 添加鼠標響應事件 46
2.8 物體的移動 49
2.9 添加或刪除物體 52
2.10 小結 53
第3章 模塊化的遊戲開發
3.1 對象和單例 55
3.1.1 面向對象編程 55
3.1.2 單例模式 59
3.2 重構2D射箭遊戲 60
3.2.1 劃分場景 61
3.2.2 創建場景 62
3.2.3 編輯場景 63
3.2.4 實現場景切換 69
3.2.5 預製體 72
3.2.6 預製體操縱:弓的操縱 75
3.2.7 預製體操縱:箭的操縱 80
3.2.8 預製體操縱:氣球的操縱 85
3.3 坐標係與物體的旋轉 89
3.4 添加音效 90
3.5 點的碰撞 90
3.6 中心化的遊戲管理 92
3.7 自定義事件 93
3.8 JSON數據詳解 95
3.9 LocalStorage數據存儲 95
3.10 小結 97
第4章 屏幕適配
4.1 屏幕適配原理 99
4.2 屏幕適配模式 103
4.3 自動橫屏與橫屏遊戲 109
4.4 對齊模式 112
4.5 屏幕物理分辨率適配 114
4.6 小結 115
第5章 高級位圖操作
5.1 濾鏡 116
5.1.1 顏色濾鏡 120
5.1.2 發光(或陰影)濾鏡 125
5.1.3 模糊濾鏡 125
5.1.4 濾鏡組合 126
5.2 遮罩 128
5.2.1 簡單的遮罩 128
5.2.2 一個CD按鈕示例 131
5.3 小結 136
第6章 UI可視化編輯
6.1 常用的UI組件 137
6.1.1 基礎組件命名規則 139
6.1.2 文本組件 140
6.1.3 Image組件 143
6.1.4 Clip組件 146
6.1.5 FontClip組件 148
6.1.6 按鈕組件 149
6.1.7 單選按鈕與單選按鈕組 151
6.1.8 複選框組件 153
6.1.9 進度條組件 155
6.1.10 滑動條組件 156
6.2 列表 158
6.3 對話框 164
6.4 綜合實例:拉霸機 167
6.4.1 設計和功能劃分 167
6.4.2 具體實現 168
6.5 小結 178
第7章 動畫基礎
7.1 序列幀動畫 179
7.1.1 序列幀概述 180
7.1.2 序列幀的可視化編輯 181
7.1.3 自定義關鍵幀 184
7.1.4 Animation組件 187
7.1.5 角色動作的控制 189
7.2 緩動動畫 197
7.2.1 緩動動畫概述 197
7.2.2 Tween緩動實例 197
7.2.3 Ease緩動類型 203
7.3 小結 205
第8章 物理引擎
8.1 點與多邊形的碰撞檢測 206
8.1.1 點與直線的位置關係 206
8.1.2 點與多邊形的碰撞檢測 208
8.1.3 直線與多邊形的碰撞檢測 211
8.2 Box2D物理引擎 214
8.3 Box2D物理引擎的關節系統 232
8.3.1 距離關節和鼠標關節 233
8.3.2 繩索關節 235
8.3.3 焊接關節 236
8.3.4 滑輪關節 237
8.3.5 車輪關節 239
8.3.6 平移關節 240
8.3.7 旋轉關節 243
8.3.8 齒輪關節 245
8.3.9 馬達關節 246
8.4 小結 248
第9章 LayaCloud
9.1 聯網游戲與幀同步 249
9.1.1 實時遊戲的主要分類 250
9.1.2 幀同步的挑戰 251
9.2 LayaCloud功能簡介 252
9.3 LayaCloud的工作方式 253
9.3.1 LayaCloud客戶端 254
9.3.2 LayaCloud項目服務器 255
9.3.3 以匹配模式進行幀同步 257
9.4 LayaCloud幀同步案例 259
9.4.1 項目準備 261
9.4.2 場景準備 261
9.4.3 實現登錄服務器 264
9.4.4 實現玩家匹配 270
9.4.5 幀同步準備 275
9.4.6 實現幀同步 279
9.5 小結 295
第10章 用LayaBox開發微信小遊戲
10.1 微信小遊戲開發基礎 296
10.2 獲取用戶授權信息 297
10.3 微信小遊戲的轉發與分享 298
10.4 實踐微信小遊戲的分享功能 300
10.5 微信關係鏈數據概述 304
10.6 使用微信關係鏈數據製作排行榜 306
10.7 微信小遊戲bin目錄的快速調試 325
10.8 微信小遊戲的上線準備 326
10.9 小結 327
第11章 項目開發與管理
11.1 LayaBox的新起點 328
11.2 開發3D遊戲需要了解的內容 328
11.3 Scrum開發流程控制管理和遊戲開發 329
11.3.1 淺談Scrum 329
11.3.2 Scrum遊戲項目管理 330
11.4 關於遊戲設計 335
11.5 小結 335
附錄A JavaScript編程基礎
A.1 概述 336
A.2 調試信息 338
A.3 關鍵詞與保留字 339
A.4 數據類型 340
A.5 變量作用域 342
A.6 數組 342
A.7 方法 343
A.8 對象 345
A.9 類 346


作者介紹


沈毅,沉浮游戲及軟件行業多年,無智名、無勇功,屢敗屢戰,屢戰屢敗。歷任軟件測試員、軟件測試主管、遊戲前端主程、項目經理等職,熟悉遊戲前端開發技術,擅長產品功能規劃、原型搭建及項目管理,樂於探索和分享相關技術及經驗。




相關書籍

Beginning Reactive Programming with Swift: Using RxSwift, Amazon Web Services, and JSON with iOS and macOS

作者 Jesse Feiler

2021-12-01

AngularJS高級程式設計

作者 卡爾波夫 (Valeri Karpov) 尼托 (Diego Netto)

2021-12-01

Vue.js 3 企業級應用開發實戰 (雙色版)

作者 柳偉衛

2021-12-01