Praktek Parameter - Tombol

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Tombol dapat digunakan oleh pemain untuk membuka kunci area baru, memberikan poin, dan menunjukkan harta karun. Setiap kali seorang pemain menyentuh tombol, itu harus memberikan beberapa umpan balik untuk memberi tahu pemain bahwa itu diinteraksikan dengan, seperti mengubah warna atau membuat suara.

Dalam contoh ini, tombol akan digunakan untuk mengaktifkan jembatan. Saat tombol ditekan, itu akan berubah hijau dan pemain akan dapat menggunakan jembatan. Jika pemain belum menekan tombol, mereka akan jatuh melalui jembatan saat mereka mencoba berjalan di atasnya.

Membuat Jembatan

Mulai dengan mengatur jembatan.

  1. Buat area di game Anda di mana pemain memerlukan jembatan.

  2. Buat bagian untuk jembatan dan ganti nama jembatan menjadi Jembatan.

  3. Pilih jembatan, di jendela Propinsi:

    • Ubah Transparansi menjadi .5. Untuk Transparansi, 0 adalah yang terlihat, 1 adalah yang tidak terlihat.
    • Periksa Anchor .
    • Batalkan pemeriksaan BisaSalinan .
  4. Uji game, jembatan harus tampak berkabut dan orang tidak boleh berjalan di atasnya belum.

Buat Tombol

Sekarang setelah jembatan diatur, buat tombolnya.

  1. Buat bagian baru bernama Tombol .
  2. Ubah warna tombol menjadi merah.
  3. Ikatkan tombol.
  4. Gerakkan tombol sehingga ia sedikit mengambang dan tidak menyentuh apa pun. Ini untuk memastikan bahwa acara Touched tidak terbakar secara tidak sengaja.

Membuat Tombol Interaktif

Kali ini, alih-alih menggunakan acara Touched untuk membuat perangkap, Anda akan menggunakannya untuk membuat tombol yang membuat jembatan dapat digunakan. Untuk membuat jembatan dapat dimaafkan, gunakan kode bridge.CanCollide = true dalam fungsi khusus

Coba cari tahu sendiri sebelum melihat solusi kode.

  1. Sisipkan skrip baru ke dalam tombol bernama Jembatani Aktif.
  2. Hapus Hello World .
  3. Buat variabel untuk jembatan dan untuk tombol.
  4. Buat fungsi lokal yang melakukan apa tombol ini disentuh :
    • Mencetak "button touched" .
    • Mengubah warna tombol dari merah ke hijau saat disentuh.
    • Mengubah transparansi jembatan ke 0 untuk membuatnya terlihat.
    • Membuat jembatan dapat digunakan dengan menggunakan kode bridge.CanCollide = true
  5. Hubungkan fungsi ke acara Touched tombol.
  6. Tes skrip dan pastikan jembatan muncul saat tombol ditekan.

Solusi Kode Di Bawah ini adalah satu solusi kode yang mungkin


-- Sisipkan skrip ini ke dalam tombol
-- Mengubah tombol hijau ketika sesuatu menyentuh tombol.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("button touched")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)

Menyelesaikan Masalah Anda

Masalah: Jembatan sudah kuat saat permainan dimulai. Pastikan bahwa bagiannya terancam dan tidak menyentuh apa pun. Bagian mungkin menyentuh sesuatu, seperti tanah atau bagian lain, dan menyebabkan fungsi buttonPressed() untuk menembak secara tidak sengaja. Masalah: Anda mendapatkan kesalahan di Jendela Keluaran mengatakan: "Jembatan bukan anggota yang valid dari Workspace" Periksa mengikuti:

  • Peng命名an jembatan Anda. Jembatan dalam skrip Anda harus bernama persis seperti di Explorer.
  • Itu part.Touched:Connect(buttonPressed) di luar fungsi buttonPressed() .

Tantangan Kode Opsional

Skrip dalam lekcion ini juga dapat digunakan untuk menjaga pintu yang menahan pemain keluar dari daerah tertentu. Latih keterampilan kode Anda dan lakukan mengikuti:

  • Buat bagian pintu.
  • Buat tombol lebih jauh dari pintu.
  • Ubah skrip dalam lekcion ini sehingga membuat pintu berubah transparan dan sehingga pemain tidak dapat bertabrakan dengannya.

Versi Anda mungkin terlihat seperti ini:


local button = script.Parent
-- Pengingat: Ganti nama bagian, Gate, dengan nama proyek Anda
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- ubah tombol menjadi merah untuk memberikan umpan masukanpemain
button.BrickColor = BrickColor.Red() -- MENGUBAH INI
-- Jadikan pintu gerbang tidak terlihat
gate.Transparency = 1
-- Membuatnya sehingga pemain dapat berjalan melalui pintu gerbang
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)