羅布樂思(Roblox)Studio是融合了3D引擎、社交、云存儲的開發(fā)工具,也是優(yōu)質(zhì)的游戲化教育工具。
本書是官方推出的羅布樂思開發(fā)指南,旨在幫助讀者學(xué)會:使用屬性、變量、函數(shù)、if-then語句和循環(huán)語句編程;使用數(shù)組和字典存儲信息;使用事件移動事物,制作爆炸、倒計時,以及實現(xiàn)任何人們能想象到的事情;通過抽象和面向?qū)ο缶幊淌勾a更容易維護(hù);使用數(shù)據(jù)存儲創(chuàng)建排行榜、保存庫存數(shù)據(jù);使用射線投射讓玩家在游戲世界里放置事物,例如家具和道具等。
本書語言通俗易懂,內(nèi)容循序漸進(jìn),在每章結(jié)尾設(shè)置常見問題及其解決方案、測驗及其答案等內(nèi)容,幫助讀者回顧并鞏固所學(xué)知識。同時,本書還設(shè)有練習(xí)環(huán)節(jié),鼓勵讀者獨立動手練習(xí),以提升開發(fā)技能。本書尤其適合新入門的游戲開發(fā)者和教育創(chuàng)新者使用。
1.繼《羅布樂思開發(fā)官方指南:從入門到實踐》第二本羅布樂思公司官方指南,羅布樂思全國創(chuàng)作大賽(RNA大賽)指定用書,深入淺出地講解 Lua 語言編程。
2.這本書既可以幫助零基礎(chǔ)的初學(xué)者快速、系統(tǒng)地掌握羅布樂思 Lua,也可以幫助已經(jīng)掌握 Lua 的開發(fā)人員深入了解羅布樂思特有的功能和 Lua API。
3.每章結(jié)尾設(shè)置常見問題及其解決方案、測驗和答案等環(huán)節(jié),幫助讀者時刻回顧與檢驗所學(xué)知識;設(shè)置練習(xí)環(huán)節(jié),鼓勵讀者獨立練習(xí),動手鞏固開發(fā)技能。
4.全彩印刷,適合青少年輕松閱讀。
5.掃碼觀看B站羅布樂思新手視頻教程(入門篇、物理篇、代碼初學(xué)篇、進(jìn)階篇)。
6.羅布樂思開發(fā)者關(guān)系副總裁鄒嘉作序推薦!
羅布樂思是一家來自美國的游戲公司,也是全球超大的多人在線創(chuàng)作社區(qū)。由超過 200 萬開發(fā)人員組成的全球社區(qū)提供支持,他們使用 Roblox 直觀的桌面設(shè)計工具 Roblox Studio 打造自己的沉浸式多人游戲體驗。使用羅布樂思進(jìn)行創(chuàng)作可以鍛煉開發(fā)者的創(chuàng)新思維和動手能力,對青少年開發(fā)者具有深遠(yuǎn)的教育意義。
Genevieve Johnson是羅布樂思公司的高級教學(xué)設(shè)計師。她負(fù)責(zé)教育內(nèi)容方面的管理,指導(dǎo)世界各地的開發(fā)者使用羅布樂思循序漸進(jìn)地學(xué)習(xí)編程,她的工作可以幫助學(xué)生走上企業(yè)家、工程師或設(shè)計師的道路。在進(jìn)入羅布樂思工作之前,她是iD Tech 的教育內(nèi)容經(jīng)理。iD Tech 是一個每年有超過5 萬名6 至18 歲學(xué)生參與的全國性的技術(shù)教育科技營。在iD Tech 工作期間,她協(xié)助推出了一項成功的全女生STEAM方案,她的團隊為60 多門相關(guān)技術(shù)課程開發(fā)了教育內(nèi)容,并提供了從編碼到機器人技術(shù)再到游戲設(shè)計等各種學(xué)科的指導(dǎo)。
第 1章 編寫你的第 一個項目 1
1.1 安裝羅布樂思Studio 2
1.2 羅布樂思Studio概述 2
1.3 打開輸出窗口 4
1.4 編寫第 一個腳本 5
1.4.1 在部件中創(chuàng)建腳本 5
1.4.2 編寫代碼 7
1.4.3 編寫實現(xiàn)爆炸效果的代碼 8
1.5 錯誤信息 9
1.6 代碼的注釋 10
總結(jié) 11
問答 11
實踐 11
練習(xí) 12
第 2章 屬性和變量 13
2.1 對象的層次結(jié)構(gòu) 14
2.2 關(guān)鍵字 14
2.3 屬性 15
2.4 查找屬性和數(shù)據(jù)類型 16
2.5 創(chuàng)建變量 16
2.6 修改顏色屬性 19
2.7 實例 20
總結(jié) 21
問答 21
實踐 21
練習(xí) 22
第3章 創(chuàng)建和使用函數(shù) 23
3.1 創(chuàng)建和調(diào)用函數(shù) 23
3.2 了解作用域 25
3.3 使用事件調(diào)用函數(shù) 25
3.4 了解順序和位置 28
總結(jié) 31
問答 31
實踐 32
練習(xí) 32
第4章 使用參數(shù) 33
4.1 給函數(shù)提供信息 33
4.2 使用多個參數(shù) 36
4.3 函數(shù)返回值 38
4.4 返回多個值 39
4.5 返回nil 40
4.6 處理不匹配的參數(shù) 41
4.7 使用匿名函數(shù) 42
總結(jié) 43
問答 43
實踐 43
練習(xí) 43
第5章 條件結(jié)構(gòu) 44
5.1 if-then語句 45
5.2 elseif 48
5.3 邏輯運算符 49
5.4 else 50
總結(jié) 56
實踐 56
練習(xí) 57
第6章 防抖和調(diào)試 58
6.1 使用防抖來避免瞬間摧毀事物 58
6.2 查找出現(xiàn)問題的原因 66
6.2.1 使用輸出語句調(diào)試 66
6.2.2 調(diào)整數(shù)值測試 68
6.2.3 檢查特性的值 69
6.2.4 使用正確類型的值 69
總結(jié) 70
問答 70
實踐 70
練習(xí) 71
第7章 while循環(huán) 72
7.1 無限循環(huán):while true do 72
7.2 要記住的一些事情 73
7.3 while循環(huán)和作用域 78
總結(jié) 78
問答 79
實踐 79
練習(xí) 80
第8章 for循環(huán) 81
8.1 for循環(huán)介紹 82
8.1.1 增量值是可選的 84
8.1.2 不同的for循環(huán)示例 84
8.2 嵌套循環(huán) 87
8.3 打破循環(huán) 88
總結(jié) 88
問答 88
實踐 88
練習(xí) 89
第9章 使用數(shù)組 90
9.1 什么是數(shù)組? 90
9.2 添加對象到數(shù)組中 91
9.3 從特定索引獲取信息 91
9.4 使用ipairs()輸出整個列表 92
9.5 文件夾和ipairs() 93
9.6 在列表中查找值并輸出相應(yīng)索引 96
9.7 從數(shù)組中刪除值 97
9.8 數(shù)字for循環(huán)和數(shù)組 98
9.8.1 使用for循環(huán)查找和刪除所有值 98
9.8.2 只搜索數(shù)組的一部分 99
總結(jié) 99
問答 99
實踐 99
練習(xí) 100
第 10章 使用字典 101
10.1 字典簡介 101
10.1.1 創(chuàng)建字典 102
10.1.2 鍵的格式 102
10.1.3 使用字典的值 103
10.1.4 使用唯一的鍵 104
10.2 添加鍵值對 104
10.3 刪除鍵值對 105
10.4 使用字典和鍵值對 107
10.5 從字典中返回查找到的內(nèi)容 107
總結(jié) 116
問答 116
實踐 116
練習(xí) 117
第 11章 客戶端與服務(wù)器 118
11.1 了解客戶端和服務(wù)器 118
11.2 使用GUI 119
11.3 了解RemoteFunction 121
11.4 使用RemoteFunction 122
總結(jié) 130
問答 130
實踐 130
練習(xí) 131
第 12章 遠(yuǎn)程事件:單向通信 132
12.1 單向通信 132
12.2 從服務(wù)器到所有客戶端的通信 133
12.3 從客戶端到服務(wù)器的通信 135
12.4 從服務(wù)器到一個客戶端的通信 140
12.5 從客戶端到客戶端的通信 141
總結(jié) 141
實踐 141
練習(xí) 141
第 13章 使用ModuleScript 142
13.1 只編寫一次代碼 142
13.2 ModuleScript的存放位置 143
13.3 了解ModuleScript的工作原理 143
13.4 命名ModuleScript 143
13.5 添加函數(shù)和變量 144
13.6 了解ModuleScript的作用域 145
13.7 在其他腳本中使用ModuleScript 145
13.8 不要寫重復(fù)的代碼 152
13.9 抽象 152
總結(jié) 153
問答 153
實踐 153
練習(xí) 154
第 14章 3D世界空間編程 155
14.1 了解x、y、z坐標(biāo) 155
14.2 使用CFrame坐標(biāo)放置事物 156
14.3 偏移CFrame 158
14.4 給CFrame添加旋轉(zhuǎn) 159
14.5 移動模型 159
14.6 世界坐標(biāo)和相對坐標(biāo) 160
總結(jié) 162
實踐 163
練習(xí) 163
第 15章 平滑的動效 164
15.1 了解漸變 164
15.2 配置TweenInfo參數(shù) 166
15.3 把漸變連接起來 171
總結(jié) 172
實踐 172
練習(xí) 173
第 16章 使用算法處理問題 174
16.1 算法的定義 174
16.2 對數(shù)組進(jìn)行排序 175
16.3 按降序進(jìn)行排序 177
16.4 對字典進(jìn)行排序 178
16.5 按多條信息進(jìn)行排序 181
總結(jié) 182
實踐 182
練習(xí) 183
第 17章 保存數(shù)據(jù) 184
17.1 打開數(shù)據(jù)存儲的設(shè)置項 184
17.2 創(chuàng)建數(shù)據(jù)存儲 185
17.3 使用數(shù)據(jù)存儲 185
17.4 調(diào)用頻次限制 190
17.5 保護(hù)你的數(shù)據(jù) 190
17.6 保存玩家數(shù)據(jù) 191
17.7 使用UpdateAsync更新數(shù)據(jù)存儲 191
總結(jié) 192
問答 193
實踐 193
練習(xí) 193
第 18章 創(chuàng)建游戲循環(huán) 194
18.1 設(shè)計游戲循環(huán) 194
18.2 使用BindableEvent 195
總結(jié) 203
問答 204
實踐 204
練習(xí) 204
第 19章 面向?qū)ο缶幊獭?05
19.1 什么是面向?qū)ο缶幊蹋俊?05
19.2 組織代碼和項目 205
19.3 創(chuàng)建一個類 206
19.4 添加類屬性 207
19.5 使用類函數(shù) 209
總結(jié) 215
實踐 216
練習(xí) 217
第 20章 繼承 218
20.1 創(chuàng)建繼承 219
20.2 繼承屬性 221
20.3 使用多個子類 224
20.4 繼承函數(shù) 225
20.5 了解多態(tài)性 225
20.6 調(diào)用父函數(shù) 229
總結(jié) 231
實踐 232
練習(xí) 232
第 21章 射線投射 233
21.1 創(chuàng)建射線投射 233
21.2 根據(jù)兩點獲取方向 236
21.3 設(shè)置射線投射參數(shù) 236
21.4 限制距離 240
總結(jié) 240
問答 240
實踐 240
練習(xí) 241
第 22章 在游戲中擺放物品1 242
22.1 創(chuàng)建物品 243
22.2 制作擺放按鈕 245
22.3 跟蹤鼠標(biāo)指針移動 247
22.3.1 BindToRenderStep()函數(shù) 247
22.3.2 鼠標(biāo)指針的射線投射 249
22.4 預(yù)覽物品 251
總結(jié) 254
問答 254
實踐 254
練習(xí) 255
第 23章 在游戲中擺放物品2 256
23.1 檢測鼠標(biāo)輸入 257
23.2 向服務(wù)器發(fā)送信息 259
23.3 獲取信息 260
總結(jié) 262
問答 263
實踐 263
練習(xí) 263
附錄A 羅布樂思基礎(chǔ)知識 264
A.1 Lua中的保留關(guān)鍵字 264
A.2 數(shù)據(jù)類型索引 265
A.3 運算符 266
A.4 命名約定 267
A.5 動效參數(shù) 268
A.6 練習(xí)的參考方案 268