Parametreleri ve Etkinlikleri Kullanma

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

Normalde, işlevler sadece kodladıkları bilgiyi kullanabilirler. Bazen, bu bilginin ne olacağını önceden bilmeyebilirsiniz veya birkaç tane aynı bilgiyi içeren bir işlevi tekrar kullanmak istiyorsunuz. Örneğin, bir kişinin bir obby kursunu en hızlı şekilde bitirdiğini herkese g Değişkenler daha sonra zamanında işlevle ilgili bilgi vermek istediğiniz yer tutucu. Onlar geçiş bilgilerini işlevle için pencereler gibidir.

Tuzak Oluşturmak İçin Parametreleri ve Etkinlikleri Kullan

Bu senaryo, parçaya dokunan her şeyi yok eden bir tuzak bölümü oluşturur, diğer parçalar da dahil olmak üzere. Bir parametre kullanarak onu ayarlamanız gerekir. Tuzak kurulduğunu yakalamak için dikkatli olun ve işleri yanlış yerden yok etmeyin.

Yeni Bir Parça Oluştur

Bir parçayı yok etmesi gereken yapılandırılması gereken bir kısma ihtiyaç duyulur.

  1. Hiçbir şeye dokunmayan yeni bir parça oluşturun. Eğer bir şeye dokunuyorsa, çok yakında gidebilir.
  2. Explorer'da, parçayı yeniden adlandır:TrapPart.
  3. Parçayı bağla bir parçaya.

Script'i Yükle

Kapının bir parçasını referans etmek için bilgi tablosunda bulduğunuz şeyleri kullanın.

  1. Tuzak bölümüne yeni bir senaryo ekleyin. Senaryoyu TrapScript olarak yeniden adlandırın.

  2. Hello World'ı sil ve açıklayıcı bir yorum ekleyin.

  3. Yorumun altında, skriptin ebeveynini bulan yeni bir değişken oluşturun.


    -- Ebeveyni dokunan her şeyi yok eder
    local trap = script.Parent

Bir Parametreyle Bir Fonksiyon Olustur

Tuzak, parçaya dokunan her şeyi yok etmek için bir işlev kullanacaktır. Çalıştırmak için, işlev parçanın dokunduğunu bilmelidir. Ve bu, parametreleri kullanarak şu şekilde görünür:


local function functionName(parameterName)
end

Özellik üzerinden geçen asıl bilgi bir argüman olarak adlandırılır. Yeni bir işlev oluştururken, tuzaka dokunan bir parçayı izleyecek ve sonra dokunma kısmını yok edecek bir parametre olan onTouch() ile yeniden yaratılır.

  1. Yerel bir işlev oluşturun. Herhangi bir isim verilebilir, ancak bu ders onTouch kullanacaktır


    local trap = script.Parent
    local function onTouch()
    end
  2. : içinde, parametre için bir isim yazın. Bu ders, objectTouched'i kullanacaktır.


    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. local function onTouch() ile end arasında bir print statement oluşturun. Bu, bir sonraki bölümdeki parçaya dokunup dokunmadığınızı kontrol etmek için kullanılır.


    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    end

Fonksiyonu Çağırmak için bir Etkinliği Kullan

Parçaya bir şey dokununca işlev her zaman çalışır. Bunu sağlamak için, işlevi Touched etkinliğine bağlayın. Etkinlikler deneyimde gerçekleşen şeylerdir. Bir oyuncu bir parçaya dokunur veya sağlığını kaybeder. Bir işlev bir etkinliğe bağlandığında, işlev her etkinliğin oluştu

Etkinliğin bir parçası başka bir parçaya dokunduğunda her zaman Touched olarak tetiklenir ve oyuncuların etkileşim kurduğu düğmeli, tuzaklı ve diğer nesneleri oluşturmak için kullanılabilir.

  1. İşlevin end altında, trap.Touched:Connect(onTouch) yazın


    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    end
    -- Fonksiyonu Dokunan etkinliğine bağla
    trap.Touched:Connect(onTouch)
  2. Test'e tıklayın ve ardından parçaya dokunun. Test raporunuzu kontrol etmek için şunu kontrol edin: Something touched the trap . Eğer çıktı penceresindeki yolunu göremiyorsanız, takip edilenkontrol edin:

    • “Bir parçaya dokunuldu!” iletişim işlevi arasında “Something touched the part!” yazın.
    • Touch'in başkaldığından emin olun.
  3. İşlev doğru olarak ayarlandıktan sonra, parçaya dokunan her şeyi yok etmek için kullanın. Fonksiyonun içinde, dizi'den sonra, objectTouched:Destroy() yazın. Tamamlanmış kod şu şekilde olmalıdır:


    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Something touched the trap")
    -- Dokunmatik nesneyi yok et
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. Tekrar test edin ve parçanın dokunulduğunda ne olduğunu görün. Avatarınız ayaklarınızı veya kollarınızı kaybetmesi gibi bir şey olursa, parça başka bir avatar'ın kafasını veya boynunu dokunursa, hatta yok edilebilir.

Özet

Özellikler, normalde kapsayan olmayan bilgileri bir işlev içine geçirir (nerede bir işlev göremiyorsa) ve etkinleştiricileri geçerli kılar. Bu arada, olaylar önemli bir şey olunca içindeki olayların tümüne geçer ve işlevlerin her seferinde etkinle