Instance

Instance : InstanceBase

Overview

Instance๋Š” Workspace, ReplicatedStorage, ServerStorage ๋“ฑ DataModel ํŠธ๋ฆฌ์— ์†ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฐ์ฒด์˜ ์ตœ์ƒ์œ„ ๊ธฐ๋ณธ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.

Instance.new() ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Part, ParticleEmitter ๋“ฑ ์ง€์ •ํ•œ ๊ฐ์ฒด๋ฅผ ๋Ÿฐํƒ€์ž„์—์„œ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ์ตœ์ƒ์œ„ Instance ๊ฐ์ฒด๋Š” ์ง์ ‘ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Properties

Parent

Instance

Parent ์†์„ฑ์€ ํ˜„์žฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ณ„์ธต ๊ตฌ์กฐ์ƒ ์–ด๋А ์œ„์น˜์— ์†ํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ•ต์‹ฌ ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์ด ์†์„ฑ์€ GetChildren(), FindFirstChild() ๋“ฑ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ ํƒ์ƒ‰ ๋ฉ”์„œ๋“œ์˜ ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค.

๋ถ€๋ชจ ๊ฐ์ฒด์— Destroy()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ํ•ด๋‹น ๋ถ€๋ชจ์™€ ๊ทธ ํ•˜์œ„ ๋ชจ๋“  ๊ฐ์ฒด์˜ Parent๊ฐ€ nil๋กœ ์„ค์ •๋˜๊ณ , ์ดํ›„ Parent ์†์„ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Clone()์ด๋‚˜ Instance.new()๋กœ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Parent๊ฐ€ nil์ธ ์ƒํƒœ๋กœ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ์ด ์ƒํƒœ์—์„œ๋Š” ํ™”๋ฉด์— ํ‘œ์‹œ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋™์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉฐ, Parent๊ฐ€ ์ง€์ •๋œ ์ดํ›„์—์•ผ ๊ธฐ๋Šฅํ•˜๊ฑฐ๋‚˜ ๋ณด์ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„์—์„œ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋Š” ๋ณต์ œ(Replication) ๊ฐ€๋Šฅํ•œ ๊ณ„์ธต์— Parent๋กœ ์—ฐ๊ฒฐ๋˜๊ธฐ ์ „๊นŒ์ง€ ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ์—ฌ๋Ÿฌ ์†์„ฑ์„ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ, Parent ์†์„ฑ์„ ๋งˆ์ง€๋ง‰์— ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Code Samples

local Part = Instance.new("Part")
local Workspace = game:GetService("Workspace")

Part.Parent = Workspace
print(Part.Parent)

Archivable

bool

ํ˜„์žฌ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Code Samples

ClassName

string

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ์†ํ•œ ํด๋ž˜์Šค๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ์ฝ๊ธฐ ์ „์šฉ ์†์„ฑ์ž…๋‹ˆ๋‹ค.

ํ•ด๋‹น ๊ฐ์ฒด์˜ ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ ํ™•์ธํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋ฉฐ, ์ƒ์† ๊ด€๊ณ„๋ฅผ ํฌํ•จํ•œ ํƒ€์ž… ํŒ๋ณ„์ด ํ•„์š”ํ•  ๊ฒฝ์šฐ์—๋Š” IsA() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

print(Part.ClassName)

Name

string

์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฆ„์€ ๊ณ„์ธต ๊ตฌ์กฐ ๋‚ด์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ณ  ์ •๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ๋•Œ๋„ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ์—์„œ ์ (.) ์—ฐ์‚ฐ์ž๋กœ ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ์ด๋ฆ„์ด ๋ฐ˜๋“œ์‹œ ๋ฌธ์ž ๋˜๋Š” ๋ฐ‘์ค„(_)๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•˜๋ฉฐ, ์ดํ›„์—๋Š” ๋ฌธ์ž, ์ˆซ์ž, ๋ฐ‘์ค„๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ทœ์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š์œผ๋ฉด ์  ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ™์€ ๊ณ„์ธต์— ๋™์ผํ•œ ์ด๋ฆ„์˜ ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜๋ฉด, ํ•ด๋‹น ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผ ์‹œ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ ๋ฐ˜ํ™˜๋˜๋ฉฐ, ์ด๋Š” ์›ํ•˜๋Š” ๋Œ€์ƒ์ด ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŠน์ • ๊ฐ์ฒด๋ฅผ ์ •ํ™•ํžˆ ์ฐธ์กฐํ•˜๋ ค๋ฉด ๊ณ ์œ ํ•œ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  ์ค‘๋ณต์„ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

Part.Name = "NewPart"

ClientOnlyAttributes

InstanceAttributeArray

{Description Slot}

Code Samples

PendingAttributes

InstanceAttributeArray

{Description Slot}

Code Samples

EnabledMobility

bool

{Description Slot}

Code Samples

Methods

Clone

์ง€์ •๋œ ์ธ์Šคํ„ด์Šค์™€ ๊ทธ ํ•˜์œ„ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ณต์ œํ•˜์—ฌ, ์ตœ์ƒ์œ„ ๋ณต์ œ๋ณธ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜๋œ ์ธ์Šคํ„ด์Šค์˜ Parent ์†์„ฑ์€ nil๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

Parameters

Return

Instance

๋ณต์ œ๋œ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Code Samples

local Workspace = game:GetService("Workspace")
local Part = Workspace.Part

local NewPart = Part:Clone()
NewPart.Position = Part.Position + Vector3.new(300, 0, 0)
NewPart.Parent = Workspace

Destroy

์ง€์ •๋œ ์ธ์Šคํ„ด์Šค์™€ ๊ทธ ํ•˜์œ„ ๋ชจ๋“  ๊ฐ์ฒด์— Destroy()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์™„์ „ํžˆ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

Destroy()๊ฐ€ ์‹คํ–‰๋œ ์ธ์Šคํ„ด์Šค๋Š” Parent ์†์„ฑ์ด ์ž ๊ฒจ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, ๊ฐ์ฒด๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ์ž„์‹œ๋กœ ์ œ๊ฑฐํ•˜๋ ค๋ฉด Parent๋ฅผ nil๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฉ”์„œ๋“œ๋Š” ๋ถˆํ•„์š”ํ•œ ๊ฐ์ฒด๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ•ต์‹ฌ ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ชจ๋“  ์ด๋ฒคํŠธ ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•˜๊ณ  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜์™€ ์žฅ๊ธฐ์ ์ธ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

Destroy() ํ˜ธ์ถœ ํ›„์—๋Š” ํ•ด๋‹น ๊ฐ์ฒด ๋˜๋Š” ํ•˜์œ„ ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ๋ฐ˜๋“œ์‹œ nil๋กœ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ, ์ฝ”๋“œ์—์„œ ์ด๋ฏธ ์‚ญ์ œ๋œ ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๋Š” ์ƒํ™ฉ์„ ์˜ˆ๋ฐฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Parameters

Return

void

Code Samples

local Workspace = game:GetService("Workspace")
local Part = Workspace.Part

Part:Destroy()

FindFirstAncestor

์ง€์ •๋œ ์ธ์Šคํ„ด์Šค์˜ ์ƒ์œ„ ๊ณ„์ธต์„ ๋”ฐ๋ผ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ, ์ง€์ •ํ•œ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๊ฐ€์ง„ ์ฒซ ๋ฒˆ์งธ ์ƒ์œ„ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํƒ์ƒ‰์€ ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์˜ Parent๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด DataModel๊นŒ์ง€ ์ง„ํ–‰๋˜๋ฉฐ, ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ์ฒด๊ฐ€ ์—†์œผ๋ฉด nil์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

Parameters

string InName

ํƒ์ƒ‰ํ•  ์ƒ์œ„ ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

Instance

ํƒ์ƒ‰๋œ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

local Ancestor = Part:FindFirstAncestor("ParentPart")
print(Ancestor)

FindFirstAncestorOfClass

์ง€์ •๋œ ์ธ์Šคํ„ด์Šค์˜ ์ƒ์œ„ ๊ณ„์ธต์„ ๋”ฐ๋ผ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ, ์ง€์ •ํ•œ ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๊ฐ€์ง„ ์ฒซ ๋ฒˆ์งธ ์ƒ์œ„ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํƒ์ƒ‰์€ ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์˜ Parent๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด DataModel๊นŒ์ง€ ์ง„ํ–‰๋˜๋ฉฐ, ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ์ฒด๊ฐ€ ์—†์œผ๋ฉด nil์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

์ฃผ๋กœ BasePart๊ฐ€ ํฌํ•จ๋œ Model์„ ์ฐพ์„ ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ž…๋‹ˆ๋‹ค.

Parameters

string InClassName

ํƒ์ƒ‰ํ•  ์ƒ์œ„ ์ธ์Šคํ„ด์Šค์˜ ํด๋ž˜์Šค ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

Instance

ํƒ์ƒ‰๋œ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

local AncestorOfClass = Part:FindFirstAncestorOfClass("Model")
print(AncestorOfClass)

FindFirstAncestorWhichIsA

์ง€์ •๋œ ์ธ์Šคํ„ด์Šค์˜ ์ƒ์œ„ ๊ณ„์ธต์„ ๋”ฐ๋ผ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ, ์ง€์ •ํ•œ ํด๋ž˜์Šค ์ด๋ฆ„์— ๋Œ€ํ•ด Object:IsA()์˜ ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ๊ฐ€ true์ธ ์ฒซ ๋ฒˆ์งธ ์ƒ์œ„ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Instance:FindFirstAncestorOfClass()๊ฐ€ ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ •ํ™•ํžˆ ๋น„๊ตํ•˜๋Š” ๋ฐ˜๋ฉด, ์ด ๋ฉ”์„œ๋“œ๋Š” ์ƒ์† ๊ด€๊ณ„๋ฅผ ๊ณ ๋ คํ•˜๋ฏ€๋กœ MeshPart, Part์ฒ˜๋Ÿผ BasePart๋ฅผ ์ƒ์†ํ•œ ๊ฐ์ฒด๋ผ๋ฉด ๋ชจ๋‘ ํƒ์ƒ‰ ๋Œ€์ƒ์ด ๋ฉ๋‹ˆ๋‹ค.

ํƒ์ƒ‰์€ ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์˜ Parent๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด DataModel๊นŒ์ง€ ์ง„ํ–‰๋˜๋ฉฐ, ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ์ฒด๊ฐ€ ์—†์œผ๋ฉด nil์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

Parameters

string InClassName

ํƒ์ƒ‰ํ•  ์ƒ์œ„ ์ธ์Šคํ„ด์Šค์˜ ํด๋ž˜์Šค ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

Instance

ํƒ์ƒ‰๋œ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

local AncestorWhichIsA = Part:FindFirstAncestorWhichIsA("BasePart")
print(AncestorWhichIsA)

FindFirstChild

์ง€์ •ํ•œ ์ด๋ฆ„์˜ ์ฒซ ๋ฒˆ์งธ ์ž์‹ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ํ•ด๋‹น ์ด๋ฆ„์˜ ์ž์‹์ด ์—†์œผ๋ฉด nil์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

recursive ๊ฐ’์„ true๋กœ ์„ค์ •ํ•˜๋ฉด ์ง์ ‘์ ์ธ ์ž์‹๋ฟ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ํ•˜์œ„ ๊ณ„์ธต๊นŒ์ง€ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ (.) ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ์ž์‹์„ ์ฐธ์กฐํ•  ๋•Œ ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ, FindFirstChild()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜ ์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํŠน์ • Part๋ฅผ ์ฐพ๊ธฐ ์ „์— FindFirstChild()๋กœ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ๋จผ์ € ๊ฒ€์‚ฌํ•˜๊ณ , if ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด ๋ณด๋‹ค ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ FindFirstChild()๋Š” ์ (.) ํ‘œ๊ธฐ๋ฒ•๋ณด๋‹ค ์†๋„๊ฐ€ ๋А๋ฆฌ๋ฏ€๋กœ, ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ๋ฐ˜๋ณต๋ฌธ์ด๋‚˜ RunService ์ด๋ฒคํŠธ์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜์—์„œ๋Š” ์ง์ ‘ ํ˜ธ์ถœ์„ ํ”ผํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Parameters

string InName

ํƒ์ƒ‰ํ•  ํ•˜์œ„ ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

bool recursive

ํ•˜์œ„ ๋ชจ๋“  ์ž์‹๊นŒ์ง€ ๊ฒ€์ƒ‰ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. (๊ธฐ๋ณธ๊ฐ’: false)

Return

Instance

ํƒ์ƒ‰๋œ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Code Samples

local Workspace = game:GetService("Workspace")

local Part = Workspace:FindFirstChild("Part")
print(Part)

FindFirstChildOfClass

์ง€์ •๋œ ์ธ์Šคํ„ด์Šค์˜ ์ž์‹ ์ค‘ ํด๋ž˜์Šค ์ด๋ฆ„์ด ์ง€์ •ํ•œ ๊ฐ’๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์ž์‹์ด ์—†์œผ๋ฉด nil์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameters

string InClassName

ํƒ์ƒ‰ํ•  ํ•˜์œ„ ์ธ์Šคํ„ด์Šค์˜ ํด๋ž˜์Šค ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

bool recursive

ํ•˜์œ„ ๋ชจ๋“  ์ž์‹๊นŒ์ง€ ๊ฒ€์ƒ‰ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. (๊ธฐ๋ณธ๊ฐ’: false)

Return

Instance

ํƒ์ƒ‰๋œ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Code Samples

local Workspace = game:GetService("Workspace")

local Part = Workspace:FindFirstChildOfClass("Part")
print(Part)

GetAttribute

์ธ์Šคํ„ด์Šค์—์„œ ์ง€์ •ํ•œ ์†์„ฑ ์ด๋ฆ„์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ํ•ด๋‹น ์†์„ฑ์ด ์—†์œผ๋ฉด nil์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

SetAttribute()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†์„ฑ ์ด๋ฆ„๊ณผ ๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ณ , GetAttributes()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ์†์„ฑ๊ณผ ๊ฐ’์„ ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Parameters

string attribute

ํ™•์ธํ•  ์†์„ฑ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

Value

ํ•ด๋‹น ์†์„ฑ์— ํ• ๋‹น๋œ ๊ฐ’์ž…๋‹ˆ๋‹ค.

Code Samples

local AttributeName = "Number"
local SetValue = 1
Part:SetAttribute(AttributeName, SetValue)

local GetValue = Part:GetAttribute(AttributeName)
print(GetValue)

GetAttributes

์ธ์Šคํ„ด์Šค์— ์„ค์ •๋œ ๋ชจ๋“  ์†์„ฑ์„ ํ‚ค-๊ฐ’ ์Œ ํ˜•ํƒœ์˜ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ฐ€์ง„ ๋ชจ๋“  ์†์„ฑ๊ณผ ๊ทธ ๊ฐ’์„ ํ•œ ๋ฒˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Parameters

Return

Dictionary

์†์„ฑ์˜ ์ด๋ฆ„๊ณผ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋”•์…”๋„ˆ๋ฆฌ์ž…๋‹ˆ๋‹ค.

Code Samples

Part:SetAttribute("Number", 1)
Part:SetAttribute("Text", "Hello")

local AttributeList = Part:GetAttributes()
for attributeName, attributeValue in pairs(AttributeList) do
    print(attributeName, " : ", attributeValue)
end

GetAttributeChangedSignal

๋ชจ๋“  ์†์„ฑ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•˜๋Š” AttributeChanged ์ด๋ฒคํŠธ์™€ ๋‹ฌ๋ฆฌ, ์ด ๋ฉ”์„œ๋“œ๋Š” ์ง€์ •ํ•œ ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งŒ ๋™์ž‘ํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameters

string InAttributeName

๊ฐ’ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•  ์†์„ฑ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

ScriptSignal

์‹คํ–‰๋œ ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

Code Samples

local Object = script.Parent

Object:GetAttributeChangedSignal("SomeEvent"):Connect(function()
    print("Attribute Changed!")
end)

Object:SetAttribute("SomeEvent","test")

GetChildren

์ง€์ •๋œ ๊ฐ์ฒด๋ฅผ ๋ถ€๋ชจ๋กœ ๊ฐ€์ง€๋Š” ๋ชจ๋“  ์ง์ ‘ ์ž์‹์„ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜๋œ ๋ฐฐ์—ด์€ ์ˆซ์ž ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ผ๋ฐ˜ for ๋ฃจํ”„๋‚˜ ์ˆซ์ž for ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•ด ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๊ณ  ๋ฐฐ์—ด ๋‚ด ์ž์‹๋“ค์˜ ์ˆœ์„œ๋Š” Parent ์†์„ฑ์ด ์ด ๊ฐ์ฒด๋กœ ์„ค์ •๋œ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ •ํ•ด์ง‘๋‹ˆ๋‹ค.

๋ชจ๋“  ํ•˜์œ„ ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด GetDescendants() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Parameters

Return

Array

์ž์‹ ์ธ์Šคํ„ด์Šค๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

Code Samples

local Workspace = game:GetService("Workspace")

local Children = Workspace:GetChildren() 
for _, child in ipairs(Children) do
    print(child.Name)
end

GetChildrenNum

์ง€์ •๋œ ๊ฐ์ฒด๋ฅผ ๋ถ€๋ชจ๋กœ ๊ฐ€์ง€๋Š” ๋ชจ๋“  ์ง์ ‘ ์ž์‹์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameters

Return

number

์ž์‹ ์ธ์Šคํ„ด์Šค์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค.

Code Samples

local Object = script.Parent

print(Object:GetChildrenNum())

GetDescendants

์ง€์ •๋œ ๊ฐ์ฒด์˜ ๋ชจ๋“  ํ•˜์œ„ ๊ณ„์ธต์„ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

GetChildren()์ด ํ•˜์œ„์— ์žˆ๋Š” ์ง์ ‘์ ์ธ ์ž์‹๋งŒ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ, ์ด ๋ฉ”์„œ๋“œ๋Š” ์ž์‹๋ฟ ์•„๋‹ˆ๋ผ ๊ทธ ํ•˜์œ„ ์š”์†Œ๊นŒ์ง€ ๋ชจ๋‘ ๊ฒ€์ƒ‰ํ•˜์—ฌ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

Parameters

Return

array

์ž์‹ ์ธ์Šคํ„ด์Šค์˜ ํ•˜์œ„ ํ•ญ๋ชฉ์„ ๋ชจ๋‘ ํฌํ•จํ•œ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

Code Samples

local Workspace = game:GetService("Workspace")

local Descendants = Workspace:GetDescendants()
for _, descendant in ipairs(Descendants) do
    print(descendant.Name)
end

IsDescendantOf

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ง€์ •๋œ ์ƒ์œ„ ๊ฐ์ฒด์˜ ํ•˜์œ„ ๊ณ„์ธต์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameters

Instance InAncestor

ํ™•์ธํ•  ์กฐ์ƒ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Return

bool

์กฐ์ƒ์˜ ํ•˜์œ„ ๊ณ„์ธต์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

Code Samples

local Workspace = script.Parent.Parent
local Part = script.Parent
local IsDescendantOf = script:IsDescendantOf(Workspace)

print(IsDescendantOf)

IsA

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ง€์ •๋œ ํด๋ž˜์Šค์ด๊ฑฐ๋‚˜ ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์€ ๊ฒฝ์šฐ true๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฉ”์„œ๋“œ๋Š” ํŠนํžˆ ๊ฐ์ฒด๊ฐ€ ํŠน์ • ํŒŒํŠธ ๊ณ„์—ด์— ์†ํ•˜๋Š”์ง€ ํŒ๋ณ„ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Part๋‚˜ MeshPart์ฒ˜๋Ÿผ BasePart๋ฅผ ์ƒ์†๋ฐ›์€ ๊ฐ์ฒด์ธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด GetChildren()์œผ๋กœ ๋ชจ๋“  ์ž์‹์„ ๊ฐ€์ ธ์˜จ ๋’ค IsA()๋กœ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ์† ๊ด€๊ณ„๋ฅผ ํฌํ•จํ•œ ํƒ€์ž… ํŒ๋ณ„์— ์ ํ•ฉํ•˜๋ฉฐ, ์ƒ์† ๊ด€๊ณ„๋ฅผ ๋ฌด์‹œํ•˜๋ ค๋ฉด ClassName ์†์„ฑ์œผ๋กœ ์ง์ ‘ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ number๋‚˜ string๊ณผ ๊ฐ™์€ Luau ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ type() ๋˜๋Š” typeof() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ํ™•์ธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

Parameters

string InClassName

ํƒ์ƒ‰ํ•  ํด๋ž˜์Šค ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

bool

ํฌํ•จ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

print("Instance : ", Part:IsA("Instance")) -- true
print("Part : ", Part:IsA("BasePart"))     -- true
print("BasePart : ", Part:IsA("BasePart")) -- true
print("MeshPart : ", Part:IsA("MeshPart")) -- false

if Part:IsA("Part") then
    print("Part")
else
    
end

SetAttribute

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์— ์ง€์ •ํ•œ ์ด๋ฆ„์˜ ์†์„ฑ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์ด๋ฆ„์—๋Š” ์˜๋ฌธ์ž, ์ˆซ์ž, ๋ฐ‘์ค„(_)๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ณต๋ฐฑ์ด๋‚˜ ํŠน์ˆ˜๋ฌธ์ž๋Š” ํ—ˆ์šฉ๋˜์ง€ ์•Š๊ณ , ๊ฐ’์ด nil๋กœ ์ฃผ์–ด์ง€๋ฉด ํ•ด๋‹น ์†์„ฑ์€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

string, number, boolean ๊ฐ™์€ Luau์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋ฟ ์•„๋‹ˆ๋ผ Instance, CFrame ๋“ฑ ๋‹ค์–‘ํ•œ ํƒ€์ž…์„ ์ง€์›ํ•˜์ง€๋งŒ, ์ง€์›๋˜์ง€ ์•Š๋Š” ํƒ€์ž…์œผ๋กœ ์†์„ฑ์„ ์„ค์ •ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„์—์„œ ์„ค์ •ํ•œ ๊ฐ’์€ ํด๋ผ์ด์–ธํŠธ๋กœ ์ž๋™ ๋ณต์ œ๋˜๋ฉฐ, ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด RemoteEvent๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ์Šคํฌ๋ฆฝํŠธ ๊ฐ„ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Attribute๋Š” Value ์˜ค๋ธŒ์ ํŠธ์ฒ˜๋Ÿผ ๋ณ„๋„์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ํŒŒ๊ดดํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ Instance.new()๋‚˜ Destroy()์— ๋น„ํ•ด ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋ฉฐ, ํŠนํžˆ ๋‹ค์ˆ˜์˜ ์˜ค๋ธŒ์ ํŠธ์— ๊ฐ’์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ๊ณผ ๊ฐ™์ด ๊ณ ๋นˆ๋„ ์ฒ˜๋ฆฌ, ๋Œ€๋Ÿ‰ ์˜ค๋ธŒ์ ํŠธ ์ œ์–ด, ๋ฐ˜๋ณต์ ์ธ ๋™๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ์ด๋ฆ„์˜ ์†์„ฑ์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด GetAttribute()๋ฅผ, ๋ชจ๋“  ์†์„ฑ์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด GetAttributes()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Parameters

string attribute

์„ค์ •ํ•  ์†์„ฑ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Value value

ํ• ๋‹นํ•  ๊ฐ’์ž…๋‹ˆ๋‹ค.

Return

void

Code Samples

local AttributeName = "Number"
local SetValue = 1
Part:SetAttribute(AttributeName, SetValue)

WaitForChild

์ง€์ •ํ•œ ์ด๋ฆ„์˜ ์ž์‹ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๊นŒ์ง€ ์‹คํ–‰์„ ์ผ์‹œ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค.

timeOut ๊ฐ’์„ ์ง€์ •ํ•˜๋ฉด ์„ค์ •๋œ ์‹œ๊ฐ„(์ดˆ)๋งŒ ๋Œ€๊ธฐํ•œ ํ›„, ์—ฌ์ „ํžˆ ํ•ด๋‹น ์ž์‹์ด ์—†์œผ๋ฉด nil์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. timeOut ์—†์ด 5์ดˆ ์ด์ƒ ๋Œ€๊ธฐํ•˜๋ฉด ๋ฌดํ•œ ๋Œ€๊ธฐ ๊ฐ€๋Šฅ์„ฑ์„ ์•Œ๋ฆฌ๋Š” ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ๊ฐ์ฒด๊ฐ€ ์ „์†ก๋˜๋Š” ์‹œ์ ๊ณผ ์ˆœ์„œ๋Š” ๋ณด์žฅ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋กœ๋“œ ์ˆœ์„œ๋กœ ์ธํ•œ ์ฐธ์กฐ ์‹คํŒจ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด LocalScript์—์„œ ํด๋ผ์ด์–ธํŠธ ์ธก ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Parameters

string InChildName

ํƒ์ƒ‰ํ•  ํ•˜์œ„ ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

number InTimeOut

๋Œ€๊ธฐํ•  ์ตœ๋Œ€ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ƒ๋žตํ•˜๋ฉด ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ ์กด์žฌํ•  ๋•Œ๊นŒ์ง€ ๊ณ„์† ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค.

Return

Instance

ํƒ์ƒ‰๋œ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Code Samples

local Workspace = game:GetService("Workspace")

local Part = Workspace:WaitForChild("Part")
print(Part)

AddTag

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์— ์ง€์ •ํ•œ ์ด๋ฆ„์˜ ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

Parameters

FName tag

์ง€์ •ํ•  ํƒœ๊ทธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

void

Code Samples

Part:AddTag("SomeTag")

RemoveTag

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์— ์ง€์ •ํ•œ ์ด๋ฆ„์˜ ํƒœ๊ทธ๋ฅผ ์‚ญ์ œํ•˜๋ฉฐ, ํ•ด๋‹น ํƒœ๊ทธ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•„๋„ ์˜ค๋ฅ˜ ์—†์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

Parameters

FName tag

์‚ญ์ œํ•  ํƒœ๊ทธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

void

Code Samples

Part:RemoveTag("SomeTag")

HasTag

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์— ์ง€์ •ํ•œ ์ด๋ฆ„์˜ ํƒœ๊ทธ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์žˆ์œผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Parameters

FName tag

ํ™•์ธํ•  ํƒœ๊ทธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Return

bool

ํƒœ๊ทธ์˜ ์กด์žฌ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค.

Code Samples

if Part:HasTag("SomeTag") then
    
else
    
end

GetTags

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์— ์ ์šฉ๋œ ํƒœ๊ทธ ๋ชฉ๋ก์„ ๋ฌธ์ž์—ด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ํƒœ๊ทธ๋งŒ ํ™•์ธํ•˜๋Š” HasTag()์™€ ๋‹ฌ๋ฆฌ, ์ธ์Šคํ„ด์Šค์— ์ ์šฉ๋œ ๋ชจ๋“  ํƒœ๊ทธ๋ฅผ ์กฐํšŒํ•  ๋•Œ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Parameters

Return

Array

๋ฌธ์ž์—ด๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.

Code Samples

Part:AddTag("SomeTag")

local Tags = Part:GetTags()
for i = 1, #Tags do
    print(Tags[i])
end

Events

AncestryChanged

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์ƒ์œ„ ์ธ์Šคํ„ด์Šค์˜ Parent ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

ํ•˜์œ„ ์ธ์Šคํ„ด์Šค์˜ Parent ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Parameters

Instance child

Parent ์†์„ฑ์ด ๋ณ€๊ฒฝ๋œ ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค.

Instance parent

๋ณ€๊ฒฝ๋œ Parent ๊ฐ’์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = Instance.new("Part")

local function OnAncestryChanged(child, parent)
    print(child, "Ancestry Changed:", parent)
end
Part.AncestryChanged:Connect(OnAncestryChanged)

wait(2)
Part.Parent = game.Workspace

AttributeChanged

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์—์„œ ์†์„ฑ์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ๋กœ, ์†์„ฑ์ด nil๋กœ ์„ค์ •๋˜๋Š” ๊ฒฝ์šฐ๋„ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ง€์ •ํ•œ ์†์„ฑ๋งŒ ๊ฐ์ง€ํ•˜๋Š” GetAttributeChangedSignal()์™€ ๋‹ฌ๋ฆฌ ๋ชจ๋“  ์†์„ฑ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•˜๋ฉฐ, ์ด๋ฒคํŠธ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ๋ณ€๊ฒฝ๋œ ์†์„ฑ์˜ ์ด๋ฆ„์ด ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

Parameters

string attribute

๋ณ€๊ฒฝ๋œ ์†์„ฑ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

local function OnAttributeChanged(attribute)
    print(attribute, "Changed:", Part:GetAttribute(attribute))
end
Part.AttributeChanged:Connect(OnAttributeChanged)

wait(2)
Part:SetAttribute("Color", "Blue")

Changed

ํ˜„์žฌ ์ธ์Šคํ„ด์Šค์—์„œ ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ๋œ ๊ฐ’์€ object[property] ํ˜•ํƒœ๋กœ ์ง์ ‘ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ๋กœ ์Šคํฌ๋ฆฝํŠธ์— ์˜ํ•œ ํ”„๋กœํผํ‹ฐ ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ฌผ๋ฆฌ ์—”์ง„์— ์˜ํ•ด CFrame์ด๋‚˜ Position ๋“ฑ์ด ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋ณ€๊ฒฝ ์ฃผ๊ธฐ๊ฐ€ ๋งค์šฐ ์งง์€ ์†์„ฑ์€ ์ผ๋ถ€ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ฒŒ์ž„ ๋กœ์ง์—์„œ ์ค‘์š”ํ•œ ์†์„ฑ์ธ ๊ฒฝ์šฐ, ์ง์ ‘ ์กฐํšŒ๋ฅผ ํ†ตํ•ด ๋™์ž‘์„ ์ถฉ๋ถ„ํžˆ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Parameters

string property

๋ณ€๊ฒฝ๋œ ํ”„๋กœํผํ‹ฐ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

local function OnChanged(property)
    print(property, "Changed:", Part[property])
end
Part.Changed:Connect(OnChanged)

wait(2)
Part.Name = "MyPart"

ChildAdded

ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ์ž์‹ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฒคํŠธ๋Š” ์ง์ ‘์ ์ธ ์ž์‹๋งŒ ๊ฐ์ง€ํ•˜๋ฉฐ, ์ „์ฒด ํ•˜์œ„ ๊ณ„์ธต์˜ ์ถ”๊ฐ€๋ฅผ ๊ฐ์ง€ํ•˜๋ ค๋ฉด DescendantAdded ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์„œ๋ฒ„์—์„œ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ํด๋ผ์ด์–ธํŠธ์—์„œ ๊ฐ์ง€ํ•˜๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ๊ฐ์ฒด์˜ ํ•˜์œ„ ์š”์†Œ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ WaitForChild()๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„ ๋™๊ธฐํ™” ์‹œ ๊ฐ์ฒด์™€ ๊ทธ ํ•˜์œ„ ์š”์†Œ๊ฐ€ ๋™์‹œ์— ์ „์†ก๋œ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

Parameters

Instance child

์ถ”๊ฐ€๋œ ์ž์‹ ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

local function OnChildAdded(child)
    print("Child Added:", child)
end
Part.ChildAdded:Connect(OnChildAdded)

wait(2)
local ChildPart = Instance.new("Part")
ChildPart.Name = "ChildPart"
ChildPart.Parent = Part

ChildRemoved

ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ ์ž์‹ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ œ๊ฑฐ๋  ๋•Œ ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

์ž์‹์˜ Parent ์†์„ฑ์ด ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋กœ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜, Destroy() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด ์‚ญ์ œ๋œ ๊ฒฝ์šฐ์—๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด ์ด๋ฒคํŠธ๋Š” ์ง์ ‘์ ์ธ ์ž์‹๋งŒ ๊ฐ์ง€ํ•˜๋ฉฐ, ์ „์ฒด ํ•˜์œ„ ๊ณ„์ธต์˜ ์ œ๊ฑฐ๋ฅผ ๊ฐ์ง€ํ•˜๋ ค๋ฉด DescendantRemoving ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Parameters

Instance child

์ œ๊ฑฐ๋œ ์ž์‹ ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Code Samples

DescendantAdded

ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ์ž์† ์ธ์Šคํ„ด์Šค๊ฐ€ ์ถ”๊ฐ€๋  ๋•Œ ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

์ด ์ด๋ฒคํŠธ๋Š” ๋ชจ๋“  ์ž์† ๊ฐ์ฒด์— ๋Œ€ํ•ด ์‹คํ–‰๋˜๋ฏ€๋กœ, ์–ด๋–ค ๊ฐ์ฒด๋ฅผ ์ธ์Šคํ„ด์Šค์˜ ์ž์‹์œผ๋กœ ๋ฐฐ์น˜ํ•˜๋ฉด ๊ทธ ๊ฐ์ฒด๋ฟ ์•„๋‹ˆ๋ผ ๊ทธ ๊ฐ์ฒด๊ฐ€ ํฌํ•จํ•˜๋Š” ๋ชจ๋“  ํ•˜์œ„ ๊ฐ์ฒด์— ๋Œ€ํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ง์ ‘์ ์ธ ์ž์‹๋งŒ ๊ฐ์ง€ํ•˜๋ ค๋ฉด ChildAdded ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

Parameters

Instance descendant

์ถ”๊ฐ€๋œ ์ž์† ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Code Samples

local Part = script.Parent

local function OnDescendantAdded(descendant)
    print("Descendant Added:", descendant)
end
Part.DescendantAdded:Connect(OnDescendantAdded)

wait(2)
local ChildPart = Instance.new("Part")
ChildPart.Name = "ChildPart"
ChildPart.Parent = Part

DescendantRemoving

ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ ์ž์† ์ธ์Šคํ„ด์Šค๊ฐ€ ์ œ๊ฑฐ๋˜๊ธฐ ์ง์ „์— ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

์ž์†์˜ Parent ์†์„ฑ์ด ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋กœ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜, Destroy() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด ์‚ญ์ œ๋œ ๊ฒฝ์šฐ์—๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด ์ด๋ฒคํŠธ๋Š” ๋ชจ๋“  ํ•˜์œ„ ๊ณ„์ธต์— ๋Œ€ํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ, ์–ด๋–ค ๊ฐ์ฒด๊ฐ€ ์ œ๊ฑฐ๋  ๋•Œ ๊ทธ ๊ฐ์ฒด๋ฟ ์•„๋‹ˆ๋ผ ๊ทธ ๊ฐ์ฒด์˜ ๋ชจ๋“  ํ•˜์œ„ ๊ฐ์ฒด์— ๋Œ€ํ•ด์„œ๋„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ œ๊ฑฐ๋˜๋Š” ๊ฐ์ฒด๊ฐ€ ์ง์† ์ž์‹์ด๋ผ๋ฉด, ์ด ์ด๋ฒคํŠธ๋Š” ChildRemoved ์ด๋ฒคํŠธ๋ณด๋‹ค ๋จผ์ € ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด ์‹œ์ ์—์„œ๋Š” ์ž์†์˜ ๋ถ€๋ชจ ์†์„ฑ์ด ์•„์ง ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ์ƒํƒœ์ด๋ฉฐ, Parent๋ฅผ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ง์ ‘์ ์ธ ์ž์‹๋งŒ ๊ฐ์ง€ํ•˜๋ ค๋ฉด ChildRemoved ์ด๋ฒคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

Parameters

Instance descendant

์ œ๊ฑฐ๋œ ์ž์† ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

Code Samples

Destroying

ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ Destroy() ๋ฉ”์„œ๋“œ์— ์˜ํ•ด ์‚ญ์ œ๋  ๋•Œ ์‹คํ–‰๋˜๋Š” ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.

์ด๋ฒคํŠธ์— ์—ฐ๊ฒฐ๋œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๊ฐ€ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ๋™์•ˆ์—๋Š” ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ•ด์ œ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐ์ฒด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Parameters

Code Samples

local Part = script.Parent

local function OnDestroying()
    print(Part, "is being destroyed.")
end
Part.Destroying:Connect(OnDestroying)

wait(2)
Part:Destroy()

Last updated