Disappear Function

是時候來讓平台消失了。將某一段執行特定行動的程式碼封裝成一個函式 Function 是非常常用的技巧。函式是一組被封裝的程式碼,方便你組織,如果有需要再次使用,也可以為其命名以方便下次可直接呼叫使用而無需重寫這段程式碼

在腳本中建立一個名為 disappear 的函式

local platform = script.Parent

local function disappear()
	-- 封裝的程式碼
end

在函式宣告的開頭加上 local 表示該函式只能夠在這個腳本被呼叫, function 意味著這裡宣告的是函式而非變數,緊接著就是函式的名稱 disappear 。小括號為參數區,用來傳入函式所需的額外資訊,我們會在後面的課程了解更多有關參數的知識。函式的最後會以 end 來結尾,在參數區與 end 之間就是函式所有封裝的程式碼

零件屬性

當平台消失時,它需要是看不見的而且玩家也不能夠踩在它上面 - 但你不應該將平台銷毀,因為等會我們還要讓它出現

零件具備多種的屬性能夠用在這個情況。別忘了你能夠在選擇零件時透過 Properties 視窗來看到它的所有屬性

你能夠透過改動零件的 Transparency 屬性來使其看不見。Transparency 是介於 0 到 1 之間的值,當值為1時表示完全透明,也就看不見了

請改變平台的 Transparency 屬性,變成1

CanCollide 屬性能決定其他零件或者是玩家能否與之碰撞。假如你設定此屬性為 **false ,**玩家將無法碰到該零件而是會穿越它

請改變平台的 CanCollide 屬性,設為 false

就如同 script.Parent ,要存取屬性是透過點語法,賦與屬性新值同樣是透過 =

  1. disappear 函式,設定 platform 的 CanCollide 屬性為 false

  2. 接著下一行,設定 platform 的 Transparency 透明度屬性為 1

    local platform = script.Parent
    
    local function disappear()
        platform.CanCollide = false --設定 platform's CanCollide 為 false
    		platform.Transparency = 1 --設定 platform's Transparency 為 1
    end
    

縮排(Indentation)

你是否注意到 Studio 會自動地為你函式內的程式碼進行縮排。永遠要確保要為函式內的程式碼進行縮排 - 這會讓你的程式碼更好讀,讓你更容易看出來到底這個函式封裝了哪些程式碼

呼叫函式