Parametre uygulaması - butonlar

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Butonlar, oyuncular tarafından yeni alanları açmak, puan vermek ve hazineyi ortaya çıkarmak için kullanılabilir. Bir oyuncu bir butona dokunduğunda, etkileşimde bulunduğunu oyunculara bildirmek için bazı geri bildirimler vermelidir, örneğin renk değiştirmek veya sesler çıkarmak.

Bu örnekte, buton bir köprüyü aktive etmek için kullanılacaktır. Butona basıldığında, yeşil olacak ve oyuncular köprüyü kullanabilecektir. Eğer oyuncu butona basmamışsa, köprüde yürümeye çalıştığında köprüden düşecektir.

Bir köprü yapın

İlk olarak, köprüyü ayarlayın.

  1. Oyuncuların bir köprüye ihtiyaç duyacağı bir alan oluşturun.

  2. Köprü için bir parça oluşturun ve adını "Köprü" olarak değiştirin.

  3. Köprüyü seçin, Özellikler penceresinde:

    • Şeffaflık değerini .5 olarak değiştirin. Şeffaflık için, 0 görünür, 1 görünmezdir.
    • Sabit kutusunu işaretleyin.
    • Çarpışmaya İzin Ver kutusunu işaretini kaldırın.
  4. Deneyimi test ettiğinizde, köprü bulanık görünecek ve insanlar henüz üzerinde yürüyemeyecek.

Butonu oluşturun

Artık köprü ayarlanmışken, butonu oluşturun.

  1. Buton adında yeni bir parça oluşturun.

  2. Butonun rengini kırmızı olarak değiştirin.

  3. Butonu Sabit yapın.

  4. Butonu, hafifçe havada asılı kalacak ve hiçbir şeye dokunmayacak şekilde hareket ettirin. Bu, Dokunuldu olayının yanlışlıkla tetiklenmemesini sağlamak içindir.

Butonu etkileşimli hale getirin

Bu sefer, bir tuzak yaratmak için Dokunuldu olayını kullanmak yerine, bunu köprüyü kullanılabilir hale getiren bir buton oluşturmak için kullanacaksınız. Köprünün çarpışabilir olmasını sağlamak için, bir oyuncu butona dokunduğunda çalışan özel bir fonksiyon içinde bridge.CanCollide = true kodunu kullanın. Gerekli diğer her şeyi tamamlamak için şu adımları tamamlayın.

Kod çözümüne bakmadan önce, bunu kendiniz anlamaya çalışın.

  1. Butona KöprüyüAktiveEt adında yeni bir script ekleyin.
  2. Merhaba Dünyayı silin.
  3. Köprü ve buton için değişkenler oluşturun.
  4. Butona dokunulduğunda aşağıdaki işlemleri yapan bir yerel fonksiyon oluşturun:
    • "butona dokunuldu" yazdırın.
    • Butona dokunulduğunda butonun rengini kırmızıdan yeşile değiştirin.
    • Köprünün şeffaflığını 0 yaparak görünür hale getirin.
    • Köprünün kullanılabilir hale gelmesi için bridge.CanCollide = true kodunu kullanın.
  5. Fonksiyonu butonun Dokunuldu olayına bağlayın.
  6. Script'i test edin ve butona dokunulduğunda köprünün göründüğünden emin olun.

Kod Çözümü Aşağıda, olası bir kod çözümü bulunmaktadır.


-- Bu script'i butona ekleyin
-- Bir şey butona dokunduğunda butonu yeşil yapar.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("butona dokunuldu")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)

Kodunuzu Hatalardan Arındırın

Sorun: Deneyim başladığında köprü zaten katı. Parçaların Sabit olduğundan ve hiçbir şeye dokunmadığından emin olun. Parçalar, bir şeylere, örneğin araziye veya başka bir parçaya dokunuyor olabilir ve bu yüzden buttonPressed() fonksiyonu yanlışlıkla tetikleniyor olabilir.

Sorun: Çıktı penceresinde "Köprü, Workspace'in geçerli bir üyesi değildir" hatası alıyorsunuz. Aşağıdakileri kontrol edin:

  • Köprünüzün adı. Script'teki köprü tam olarak Explorer'da olduğu gibi adlandırılmalıdır.
  • part.Dokunuldu:Connect(buttonPressed) ifadesinin buttonPressed() fonksiyonunun dışarısında olduğundan emin olun.

Opsiyonel kod meydan okuması

Bu dersteki script, oyuncuları belirli alanlardan uzak tutan kapılar için de kullanılabilir. Kodlama becerilerinizi geliştirmek için aşağıdakileri yapın:

  • Bir kapı parçası oluşturun.
  • Kapıdan uzakta bir buton oluşturun.
  • Bu dersteki script'i değiştirin böylece kapı şeffaflık değiştiriyor ve oyuncular onunla çarpışamıyor.

Sürümünüz şöyle bir şey olabilir:


local button = script.Parent
-- Hatırlatma: Parçanın adını, Projenizdeki ile değiştirin
local gate = workspace.Gate
local function buttonPressed()
print("butona dokunuldu")
-- Oyuncuya geri bildirim vermek için butonu kırmızıya çevirir
button.BrickColor = BrickColor.Red() -- BUNU DEĞİŞTİRİN
-- Kapıyı görünmez yapın
gate.Transparency = 1
-- Oyuncunun kapıdan geçebilmesini sağlar
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.