Tombol dapat digunakan oleh pemain untuk membuka area baru, memberikan poin, dan mengungkapkan harta karun. Setiap kali seorang pemain menyentuh tombol, tombol tersebut harus memberikan umpan balik untuk memberi tahu pemain bahwa tombol tersebut sedang berinteraksi, seperti mengubah warna atau mengeluarkan suara.
Dalam contoh ini, tombol akan digunakan untuk mengaktifkan jembatan. Ketika tombol telah ditekan, tombol tersebut akan berubah menjadi hijau dan pemain akan dapat menggunakan jembatan. Jika pemain belum menekan tombol, mereka akan jatuh melalui jembatan ketika mencoba berjalan di atasnya.
Buat jembatan
Mulailah dengan menyiapkan jembatan.
Buat area di lingkungan Anda di mana pemain akan membutuhkan jembatan.
Buat sebuah bagian untuk jembatan dan ganti namanya menjadi Jembatan.
Pilih jembatan, di jendela Properties:
- Ubah Transparency menjadi .5. Untuk Transparency, 0 terlihat, 1 tidak terlihat.
- Centang Anchor.
- Hapus centang CanCollide.
Ketika Anda menguji permainan, jembatan harus terlihat berkabut dan orang tidak boleh bisa berjalan di atasnya.

Buat tombol
Sekarang setelah jembatan disiapkan, buat tombol.
Buat bagian baru bernama Tombol.
Ubah warna tombol menjadi merah.
Anchor tombol.
Pindahkan tombol sehingga sedikit melayang dan tidak menyentuh apa pun. Ini untuk memastikan bahwa peristiwa Touched tidak secara tidak sengaja terpicu.

Buat tombol interaktif
Kali ini, alih-alih menggunakan peristiwa Touched untuk membuat perangkap, Anda akan menggunakannya untuk membuat tombol yang membuat jembatan dapat digunakan. Untuk membuat jembatan dapat bertabrakan, gunakan kode bridge.CanCollide = true dalam fungsi kustom yang dijalankan ketika seorang pemain menyentuh tombol. Anda tahu semua yang Anda butuhkan untuk menyelesaikan langkah-langkah berikut.
Cobalah untuk memecahkannya sendiri sebelum melihat solusi kode.
- Sisipkan script baru ke dalam tombol bernama AktifkanJembatan.
- Hapus Hello World.
- Buat variabel untuk jembatan dan untuk tombol.
- Buat fungsi lokal yang melakukan hal berikut ketika tombol disentuh:
- Mencetak "tombol disentuh".
- Mengubah warna tombol dari merah menjadi hijau ketika disentuh.
- Mengubah transparansi jembatan menjadi 0 agar terlihat.
- Membuat jembatan dapat digunakan dengan menggunakan kode bridge.CanCollide = true
- Hubungkan fungsi tersebut ke peristiwa Touched tombol.
- Uji skrip dan pastikan jembatan muncul ketika tombol disentuh.
Solusi Kode Berikut adalah salah satu solusi kode yang mungkin
-- Sisipkan skrip ini ke dalam tombol
-- Mengubah tombol menjadi hijau ketika sesuatu menyentuh tombol.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("tombol disentuh")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)Memecahkan masalah kode Anda
Masalah: Jembatan sudah solid ketika permainan dimulai. Pastikan bahwa bagian-bagian tersebut terpasang dan tidak menyentuh apa pun. Bagian-bagian tersebut mungkin menyentuh sesuatu, seperti terrain atau bagian lain, dan menyebabkan fungsi buttonPressed() terpicu secara tidak sengaja.
Masalah: Anda mendapatkan kesalahan di jendela Output yang mengatakan: "Bridge bukan anggota yang valid dari Workspace" Periksa hal berikut:
- Penamaan jembatan Anda. Jembatan dalam skrip Anda harus dinamai persis seperti di Explorer.
- Bahwa part.Touched:Connect(buttonPressed) berada di luar fungsi buttonPressed().
Tantangan kode opsional
Skrip dalam pelajaran ini juga dapat digunakan untuk menjaga pintu yang menghalangi pemain dari area tertentu. Latih keterampilan pemrograman Anda dan lakukan hal berikut:
- Buat bagian pintu.
- Buat tombol yang lebih jauh dari pintu.
- Ubah skrip dalam pelajaran ini sehingga membuat pintu mengubah transparansi dan agar pemain tidak dapat bertabrakan dengannya.
Versi Anda mungkin terlihat seperti ini:
local button = script.Parent
-- Pengingat: Ganti nama bagian, Gerbang, dengan yang ada di proyek Anda
local gate = workspace.Gate
local function buttonPressed()
print("tombol disentuh")
-- Mengubah tombol menjadi merah untuk memberikan umpan balik kepada pemain
button.BrickColor = BrickColor.Red() -- GANTI INI
-- Membuat gerbang tidak terlihat
gate.Transparency = 1
-- Membuatnya sehingga pemain dapat berjalan melalui gerbang
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)