iT邦幫忙

2025 iThome 鐵人賽

DAY 18
0

我想不到其他廢話了,直接開始


1. 何謂實例?

所謂的實例,就是我們在Roblox Studio裡面除了服務以外的所有物件,包含了我們過去提過的腳本、3D物件、2D UI物件等。

而實例在腳本中的名稱為Instance,其當然也有自己的函式,跟他名字一樣

而我們可以透過這項函式來對物件做新增

2. Instance函式

Instance函式本身具有兩項子功能,分別為:
new: 可以創建一個新的物件
fromExisting: 可以從現有的物件在創建一個新物件

通常我們不會用fromExisting這項函式,因為可以直接用另一項名為clone的函式取代

而new的使用方法也很簡單,只需要將函式定義進一項變數就可以

local Part = Instance.new("Part") --字串放入物件的ClassName

雖然我們新增了一項物件,但在定義其父項目之前,他是不會產生在遊戲內的,所以我們要定義他的父項目

local Part = Instance.new("Part")
Part.Parent = workspace

又或者,你可以在函式的第二項參數內放入路徑,以此做為該實例的父項目

local Part = Instance.new("Part", workspace)

那接下來對於物件的各項屬性,相信各位已經很熟悉,我就不多談了。

3. Clone函式

好啦原本到這邊就沒了,但想說剛剛提到了就順便講講。

Clone這項函式可以將物件複製,但同時也要給予複製的物件一項路徑,複製過的物件才會出現在遊戲內

local Part = workspace.Part
local ClonedPart = Part:Clone()
ClonedPart.Parent = workspace

如果你沒有要對這項Part進行其他的更改,你可以直接將物件的路徑定義在函式後方

local Part = workspace.Part
Part:Clone().Parent = workspace

4. Destroy與Remove函式

好好好快結束了在讓我多嘴一下

這個看名稱就可以知道這在幹嘛了,把物件刪掉的指令,但這兩個有什麼不同,老實說我真的不知道,就連Roblox Studio的提示都說Remove函式已經棄用,所以現今的遊戲在製作上都是用Destroy函式

好啦還是展示一下用法

local Part = workspace.Part
Part:Destroy() --然後他就不見了

天啊好快就要20天了欸


上一篇
Day 17: Script、LocalScript、ModuleScript
下一篇
Day 19: 玩家觸發事件
系列文
透過Roblox Studio學習Lua語言與基本程式邏輯21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言