32. Instance dan Explorer
Bab 31 menjelaskan bahwa sebuah experience Roblox adalah sebuah pohon
berisi Instance. Bab ini akan membahas lebih dalam: apa
itu Instance, cara melihatnya di Explorer, dan cara
membuat serta mengubahnya dari kode — semuanya dalam sebuah
Script di Studio.
Explorer adalah pohonnya
Buka Studio dengan template Baseplate. Panel Explorer (kanan atas) menampilkan experience sebagai pohon yang bisa dibuka-tutup:
game
├─ Workspace
│ ├─ Baseplate
│ └─ SpawnLocation
├─ Players
├─ ServerScriptService
└─ ... service lainnya
Setiap baris adalah sebuah Instance: bisa berupa
Part, Folder, Script, atau service. Masing-masing memiliki
ClassName (jenisnya, seperti Part), sebuah
Name yang ditampilkan di Explorer, properti-properti,
dan sebuah Parent — yaitu Instance tempatnya
berada.
Membuat Instance dari kode
Instance.new("ClassName") membuat sebuah Instance.
Instance ini belum ada di dunia — ia berdiri sendiri sampai kamu
memberinya parent:
local part = Instance.new("Part")
part.Name = "Platform"
part.Size = Vector3.new(8, 1, 8)
part.Position = Vector3.new(0, 5, 0)
part.Anchored = true
part.Parent = workspaceBuat sebuah Part, atur nama, ukuran, dan posisinya, kunci supaya
tidak jatuh karena gravitasi, lalu tempatkan di workspace.
Mengatur Parent membuatnya muncul di dunia dan di
Explorer.
Vector3.new(x, y, z) adalah nilai 3D untuk ukuran dan
posisi: x adalah kiri/kanan, y atas/bawah,
z depan/belakang.
Atur properti-propertinya sebelum
Parent. Begitu diberi parent, Part langsung aktif; mengatur
ukuran dan warna terlebih dahulu mencegah kedipan di mana tampilannya
terlihat salah sesaat.
Properti yang perlu diketahui
Sebuah Part punya banyak properti. Yang paling sering
kamu butuhkan pertama kali:
| Properti | Yang dikontrol |
|---|---|
Name |
Label yang tampil di Explorer. |
Size |
Sebuah Vector3 — seberapa besar ukurannya. |
Position |
Sebuah Vector3 — di mana titik tengahnya berada. |
Anchored |
true = mengabaikan gravitasi dan tetap di tempat. |
BrickColor |
Warnanya, misalnya BrickColor.new("Bright red"). |
Transparency |
0 = padat, 1 = tidak terlihat. |
CanCollide |
true = padat untuk pemain; false = bisa
ditembus. |
part.BrickColor = BrickColor.new("Bright yellow")
part.Transparency = 0
part.CanCollide = trueMenelusuri pohon dari kode
Temukan Instance dengan cara yang sama seperti kamu membaca Explorer
— telusuri ke bawah dari game atau
workspace:
workspace.Platform— child yang bernamaPlatform(error jika tidak ada).workspace:FindFirstChild("Platform")— sama seperti di atas, tapi mengembalikanniljika tidak ada alih-alih error — lebih aman diuji denganif.instance:GetChildren()— daftar child langsung, untuk di-loop denganipairs.instance:Destroy()— menghapus sebuah Instance selamanya.instance:Clone()— membuat salinan yang bisa diberi parent baru.
local coin = workspace:FindFirstChild("Coin")
if coin then
coin:Destroy()
endSemuanya menggunakan tanda titik dua karena merupakan method pada
Instance — bentuk obj:method() dari Bab 26.
PR
Latihan-latihan ini tidak berjalan di terminal. Anggap saja sebagai
latihan tulis: tulis kodenya, lalu cek halaman solusi. Untuk mencoba
sungguhan, tempel masing-masing ke dalam sebuah Script di
bawah ServerScriptService lalu tekan
Play.
Soal 1 — Buat platform
Buka exercises/32/homework/01-platform.lua. Buat sebuah
Part yang dikunci (anchored) bernama Platform, ukuran
10, 1, 10, di posisi 0, 8, 0, berwarna
Bright green, dengan parent workspace.
Soal 2 — Atur properti sesuai urutan
Buka exercises/32/homework/02-order.lua. Potongan kode
tersebut mengatur Parent terlebih dahulu, baru kemudian
ukuran dan warna. Ubah urutannya sehingga setiap properti diatur
sebelum Parent, dan tambahkan satu baris komentar
yang menjelaskan alasannya.
Soal 3 — Pencarian yang aman
Buka exercises/32/homework/03-safe-find.lua. Gunakan
FindFirstChild dan sebuah if, hapus Part
bernama OldWall di workspace hanya jika ada;
jika tidak, cetak nothing to remove.
Tantangan — Deretan tiang
Buka exercises/32/homework/04-pillars.lua. Menggunakan
perulangan for, buat lima tiang yang dikunci (Part yang
tinggi dan ramping) berjejer, berjarak beberapa stud di sepanjang sumbu
x. Atur Position setiap tiang dari counter
perulangan.
Bingung atau sudah selesai? Buka halaman solusi PR.