Butonlar, oyuncular tarafından yeni alanların kilidini açmak, puan vermek ve hazineyi ortaya çıkarmak için kullanılabilir.Bir oyuncu bir düğmeye dokunduğunda, oyuncuların onunla etkileşime geçtiğini bildirmesi için bazı geri bildirimler vermelidir, renkleri değiştirmek veya ses çıkarmak gibi.
Bu örnekte, buton bir köprüyü etkinleştirmek için kullanılacaktır.Buton basıldığında yeşile dönecek ve oyuncular köprüyü kullanabilecekler.Oyuncu butona basmadıysa, üzerinde yürümeye çalıştıklarında köprüden düşecekler.
Bir köprü yap
Köprüyü kurarak başlayın.
Oyuncuların bir köprüye ihtiyacı olacağı bir alan oluşturun, oyununuzda.
Köprü için bir parça oluştur ve adını Köprü olarak değiştir.
Köprüyü, Özellikler penceresinde seçin:
- Değiştir Saydamlık 0.5'e. Saydamlık için, 0 görünür, 1 görünmez.
- Kontrol Bağlantı noktası .
- CanCollide 'yi seçimi kaldır.
oyuntest edin, köprü bulanık görünmeli ve insanlar henüz üzerinde yürüyememeli.
Butonu oluştur
Şimdi köprü kuruldu, düğmeyi oluştur.
- Yeni bir parça oluştur Düğme adında.
- Buton rengini kırmızıya değiştir.
- Düğmeyi sabitle .
- Butonu hafifçe yüzen ve hiçbir şeye dokunmayan şekilde hareket ettirin. Bu, Touched etkinliğinin kazara ateşlenmediğinden emin olmak içindir.
Butonu interaktif hale getirin
Bu kez, bir tuzağı oluşturmak için Touched etkinliğini kullanmak yerine, köprüyü kullanılabilir hale getiren bir düğme oluşturmak için kullanacaksınız.Köprüyü çarpıştırılabilir hale getirmek için, bir oyuncu düğmeye dokunduğunda çalışan özel bir işlev içinde kod bridge.CanCollide = true kullanın.Aşağıdaki adımları tamamlamak için ihtiyacınız olan diğer her şeyi biliyorsunuz.
Kod çözümüne bakmadan önce kendiniz bulmaya çalışın.
- Yeni bir skript ActivateBridge adlı düğmeye ekleyin.
- Sil Hello World .
- Köprü ve düğme için değişkenler oluştur.
- Butona dokunduktan sonra aşağıdakileri yapan bir yerel işlev oluşturun:
- Baskı "button touched" .
- Değişiklik düğmesinin rengini dokunduğunda kırmızıdan yeşile değiştirir.
- Köprünün transparansını 0'a değiştirerek görünür hale getirmek için.
- Köprüyü kullanarak kodu bridge.CanCollide = true kullanılabilir hale getirir
- İşlevi butonun Touched etkinliğine bağlayın.
- Komutu test edin ve düğmeye dokunduğunda köprünün göründüğünden emin olun.
Kod Çözümü Aşağıdaki bir olası kod çözümüdür
-- Bu kodu düğmeye ekleyin
-- Butonu bir şeyler dokunduğunda yeşile döndürür.
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)
Kodunuzu sorun kod
Sorun: Oyun başladığında köprü zaten sert.: Parçaların sabitlendiğinden ve herhangi bir şeye dokunmadığından emin olun.Parçalar bir şeye dokunabilir, yol veya başka bir parça gibi, ve butonPressed() işlevinin kazara ateşlenmesine neden olabilir. Sorun: Çıktı penceresinde bir hata alıyorsunuz: "Köprü, Çalışma Alanı'nın geçerli bir üyesi değil" takip edilenkontrol edin:
- Köprünüzün adlandırılması. Senaryonuzdaki köprü, Explorer'da olduğu gibi aynen adlandırılmalıdır.
- Bu part.Touched:Connect(buttonPressed) işlevin dışındadır. buttonPressed() işlevinin dışındadır.
Opsiyonel kod meydan okuması
Bu dersin kodu, oyuncuları belirli alanlardan uzak tutan kapıları tutmak için de kullanılabilir. Kodlama becerilerinizi pratik edin ve takip edilenyapın:
- Bir kapı parçası oluştur.
- Kapıdan daha uzakta bir düğme oluştur.
- Bu dersin kodunu değiştirin, böylece kapının transparansı değişir ve oyuncu onunla çarpışamaz.
Sürümünüz böyle görünebilir:
local button = script.Parent
-- Hatırlatma: Parçanın, Kapı'nın adını projenizdeki ile değiştirin
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- Oyuncuya geri geri dönüşvermek için düğmeyi kırmızıya değiştir
button.BrickColor = BrickColor.Red() -- BUNU DEĞIŞTIR
-- Kapıyı görünmez yap
gate.Transparency = 1
-- Oyuncunun kapıdan geçebilmesini sağlar
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)