羅布樂思開發官方指南 Lua語言編程

[美] 羅布樂思公司(Roblox Corporation)

  • 羅布樂思開發官方指南 Lua語言編程-preview-1
  • 羅布樂思開發官方指南 Lua語言編程-preview-2
羅布樂思開發官方指南 Lua語言編程-preview-1

買這商品的人也買了...

商品描述

羅布樂思(Roblox)Studio是融合了3D引擎、社交、雲存儲的開發工具,也是優質的游戲化教育工具。

 

本書是官方推出的羅布樂思開發指南,旨在幫助讀者學會:使用屬性、變量、函數、if-then語句和循環語句編程;使用數組和字典存儲信息;使用事件移動事物,製作爆炸、倒計時,以及實現任何人們能想象到的事情;通過抽象和麵向對象編程使代碼更容易維護;使用數據存儲創建排行榜、保存庫存數據;使用射線投射讓玩家在游戲世界里放置事物,例如傢具和道具等。

 

本書語言通俗易懂,內容循序漸進,在每章結尾設置常見問題及其解決方案、測驗及其答案等內容,幫助讀者回顧並鞏固所學知識。同時,本書還設有練習環節,鼓勵讀者獨立動手練習,以提升開發技能。本書尤其適合新入門的游戲開發者和教育創新者使用。

作者簡介

罗布乐思是一家来自美国的游戏公司,也是全球超大的多人在线创作社区。由超过 200 万开发人员组成的全球社区提供支持,他们使用 Roblox 直观的桌面设计工具 Roblox Studio 打造自己的沉浸式多人游戏体验。使用罗布乐思进行创作可以锻炼开发者的创新思维和动手能力,对青少年开发者具有深远的教育意义。

 

Genevieve Johnson是罗布乐思公司的高级教学设计师。她负责教育内容方面的管理,指导世界各地的开发者使用罗布乐思循序渐进地学习编程,她的工作可以帮助学生走上企业家、工程师或设计师的道路。在进入罗布乐思工作之前,她是iD Tech 的教育内容经理。iD Tech 是一个每年有超过5 万名6 至18 岁学生参与的全国性的技术教育科技营。在iD Tech 工作期间,她协助推出了一项成功的全女生STEAM方案,她的团队为60 多门相关技术课程开发了教育内容,并提供了从编码到机器人技术再到游戏设计等各种学科的指导。

目錄大綱

第 1章 編寫你的第 一個項目 1

1.1 安裝羅布樂思Studio 2

1.2 羅布樂思Studio概述 2

1.3 打開輸出窗口 4

1.4 編寫第 一個腳本 5

1.4.1 在部件中創建腳本 5

1.4.2 編寫代碼 7

1.4.3 編寫實現爆炸效果的代碼 8

1.5 錯誤信息 9

1.6 代碼的註釋 10

總結 11

問答 11

實踐 11

練習 12

第 2章  屬性和變量 13

2.1 對象的層次結構 14

2.2 關鍵字 14

2.3 屬性 15

2.4 查找屬性和數據類型 16

2.5 創建變量 16

2.6 修改顏色屬性 19

2.7 實例 20

總結 21

問答 21

實踐 21

練習 22

第3章 創建和使用函數 23

3.1 創建和調用函數 23

3.2 瞭解作用域 25

3.3 使用事件調用函數 25

3.4 瞭解順序和位置 28

總結 31

問答 31

實踐 32

練習 32

第4章 使用參數 33

4.1 給函數提供信息 33

4.2 使用多個參數 36

4.3 函數返回值 38

4.4 返回多個值 39

4.5 返回nil 40

4.6 處理不匹配的參數 41

4.7 使用匿名函數 42

總結 43

問答 43

實踐 43

練習 43

第5章 條件結構 44

5.1 if-then語句 45

5.2 elseif 48

5.3 邏輯運算符 49

5.4 else 50

總結 56

實踐 56

練習 57

第6章 防抖和調試 58

6.1 使用防抖來避免瞬間摧毀事物 58

6.2 查找出現問題的原因 66

6.2.1 使用輸出語句調試 66

6.2.2 調整數值測試 68

6.2.3 檢查特性的值 69

6.2.4 使用正確類型的值 69

總結 70

問答 70

實踐 70

練習 71

第7章 while循環 72

7.1 無限循環:while true do 72

7.2 要記住的一些事情 73

7.3 while循環和作用域 78

總結 78

問答 79

實踐 79

練習 80

第8章 for循環 81

8.1 for循環介紹 82

8.1.1 增量值是可選的 84

8.1.2 不同的for循環示例 84

8.2 嵌套循環 87

8.3 打破循環 88

總結 88

問答 88

實踐 88

練習 89

第9章 使用數組 90

9.1 什麽是數組? 90

9.2 添加對象到數組中 91

9.3 從特定索引獲取信息 91

9.4 使用ipairs()輸出整個列表 92

9.5 文件夾和ipairs() 93

9.6 在列表中查找值並輸出相應索引 96

9.7 從數組中刪除值 97

9.8 數字for循環和數組 98

9.8.1 使用for循環查找和刪除所有值 98

9.8.2 只搜索數組的一部分 99

總結 99

問答 99

實踐 99

練習 100

第 10章 使用字典 101

10.1 字典簡介 101

10.1.1 創建字典 102

10.1.2 鍵的格式 102

10.1.3 使用字典的值 103

10.1.4 使用唯一的鍵 104

10.2 添加鍵值對 104

10.3 刪除鍵值對 105

10.4 使用字典和鍵值對 107

10.5 從字典中返回查找到的內容 107

總結 116

問答 116

實踐 116

練習 117

第 11章 客戶端與服務器 118

11.1 瞭解客戶端和服務器 118

11.2 使用GUI 119

11.3 瞭解RemoteFunction 121

11.4 使用RemoteFunction 122

總結 130

問答 130

實踐 130

練習 131

第 12章 遠程事件:單向通信 132

12.1 單向通信 132

12.2 從服務器到所有客戶端的通信 133

12.3 從客戶端到服務器的通信 135

12.4 從服務器到一個客戶端的通信 140

12.5 從客戶端到客戶端的通信 141

總結 141

實踐 141

練習 141

第 13章 使用ModuleScript 142

13.1 只編寫一次代碼 142

13.2 ModuleScript的存放位置 143

13.3 瞭解ModuleScript的工作原理 143

13.4 命名ModuleScript 143

13.5 添加函數和變量 144

13.6 瞭解ModuleScript的作用域 145

13.7 在其他腳本中使用ModuleScript 145

13.8 不要寫重復的代碼 152

13.9 抽象 152

總結 153

問答 153

實踐 153

練習 154

第 14章 3D世界空間編程 155

14.1 瞭解x、y、z坐標 155

14.2 使用CFrame坐標放置事物 156

14.3 偏移CFrame 158

14.4 給CFrame添加旋轉 159

14.5 移動模型 159

14.6 世界坐標和相對坐標 160

總結 162

實踐 163

練習 163

第 15章 平滑的動效 164

15.1 瞭解漸變 164

15.2 配置TweenInfo參數 166

15.3 把漸變連接起來 171

總結 172

實踐 172

練習 173

第 16章 使用算法處理問題 174

16.1 算法的定義 174

16.2 對數組進行排序 175

16.3 按降序進行排序 177

16.4 對字典進行排序 178

16.5 按多條信息進行排序 181

總結 182

實踐 182

練習 183

第 17章 保存數據 184

17.1 打開數據存儲的設置項 184

17.2 創建數據存儲 185

17.3 使用數據存儲 185

17.4 調用頻次限制 190

17.5 保護你的數據 190

17.6 保存玩家數據 191

17.7 使用UpdateAsync更新數據存儲 191

總結 192

問答 193

實踐 193

練習 193

第 18章 創建游戲循環 194

18.1 設計游戲循環 194

18.2 使用BindableEvent 195

總結 203

問答 204

實踐 204

練習 204

第 19章 面向對象編程 205

19.1 什麽是面向對象編程? 205

19.2 組織代碼和項目 205

19.3 創建一個類 206

19.4 添加類屬性 207

19.5 使用類函數 209

總結 215

實踐 216

練習 217

第 20章 繼承 218

20.1 創建繼承 219

20.2 繼承屬性 221

20.3 使用多個子類 224

20.4 繼承函數 225

20.5 瞭解多態性 225

20.6 調用父函數 229

總結 231

實踐 232

練習 232

第 21章 射線投射 233

21.1 創建射線投射 233

21.2 根據兩點獲取方向 236

21.3 設置射線投射參數 236

21.4 限制距離 240

總結 240

問答 240

實踐 240

練習 241

第 22章 在游戲中擺放物品1 242

22.1 創建物品 243

22.2 製作擺放按鈕 245

22.3 跟蹤鼠標指針移動 247

22.3.1 BindToRenderStep()函數 247

22.3.2 鼠標指針的射線投射 249

22.4 預覽物品 251

總結 254

問答 254

實踐 254

練習 255

第 23章 在游戲中擺放物品2 256

23.1 檢測鼠標輸入 257

23.2 向服務器發送信息 259

23.3 獲取信息 260

總結 262

問答 263

實踐 263

練習 263

附錄A 羅布樂思基礎知識 264

A.1 Lua中的保留關鍵字 264

A.2 數據類型索引 265

A.3 運算符 266

A.4 命名約定 267

A.5 動效參數 268

A.6 練習的參考方案 268