Köpükler için Parlayan Işıklar

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

Looplar için uygulamalı olmak için, yavaş yavaş daha parlak hale gelen bir Lamba oluşturacaksınız ve ardından süre zarfında solgunacaksınız. Bu senaryo, bir caddede bir街 lambası veya parlak bir kristal olabilir.

Parça ve Skript'i ayarlama

Lamba, bağlı bir ışık veya kod ile bir parça olacaktır.

  1. Işığı görmek daha kolay hale getirmek için oyun dünyasını gece olarak değiştirin. Explorer > Lighting > ClockTime'ı Işığı olarak değiştirin.

    image
  2. Lamb adında yeni bir parça veya model oluşturun.

  3. Lambayı seçin ve bir ışık ekleyin, bir PointLight veya SpotLight gibi. Aydınlatma özelliği ışığın parlaklığını oluşturmak için çalışacaksınız.

  4. Lampada, GlowScript adında yeni bir senaryo ekleyin. Bu senaryoda, lambayı ve nokta ışığını depolamak için ortaya çıkan değişkenleri oluşturun.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Ardından, döngünün her seferinde ışığın parlaklığının ne kadar değişeceğini tutmak için bir değişken oluşturun. Sonra, döngülerin tekrar çalıştığından önce kaç saniye bekleyeceğini gösteren bir diğer değişken ekleyin.


    -- Işığın parlaklığının her seferinde ne kadar değişeceği
    local brightnessChange = 1
    -- Işığın parlaklığını ne saniyede değiştireceğini
    local timeChange = 1

Lambayı Parlatmak

Lamba, bir toplam kullanacak, biri lampayı daha parlak hale getirmek için, diğeri ise onu solgun. Her bir for loop için bir kontrol değişkeni olan currentBrightness'i vardır. Bu yolla, for loop'un kontrol değişkeni yukarı ve aşağı giderken, ışığın parlaklığını artırır.

İlk Loop (Işık Artışı)

Unutmayın, bir for döngüsü, bir kontrol değişkeni ile başlayan for anahtar kelimesi ile başlar. Bu senaryo, ışığın kontrol değişkenine değerini ayarlar.

  1. Aşağıdaki değerleri kullanarak for döngüsü için kod yazın. Kontrol değişkenlerini ve son değerleri ayırmak için bir boşlukla ayrılır.

    • Kontrol Değişkeni : currentBrightness
    • Başlangıç değeri : 0
    • Son değer : 5
    • Artış Değeri : brightnessChange

    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. For döngüsünün içinde, ışığın parlaklığını kontrol değişkenine yazıp light.Brightness = currentBrightness değerine ayarlayın. Şimdi, döngü çalıştığında, ışığın parlaklığı daha da parlak hale gelir.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. Değişiklik hemen olmaz, timeChange değerini kullanarak bir bekleme işlevi ekleyin.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Oyunu çalıştırın ve parlaklığın her saniye artışını görün.

İlk döngüde parlaklığın zamanla değişimini göremiyorsanız:

  • light.Brightness = currentBrightness iletişiminin devre dışı bırakıldığından emin olun.
  • En az 1 veya daha yüksek timeChange olup olmadığını kontrol edin. Daha küçük sayılar parlaklığı daha hızlı değiştirir, ancak uzun süreli olarak görünür.
  • Kontrol değişkeni, son değeri ve artırım değerini ayrı tutan iki tane toplam virgülü olduğundan emin olun.

İkinci Boşluk (Işık Azalması)

Işığı söndürmek için bir saniye kullanın. Bu saniyenin değerleri ışığın parlaklığını artırır ve her saniye daha da parlak hale gelir.

  1. Zamanla parlaklığı azaltan bir ikinci kodu kod kutusunda kodlayın. Çözüm aşağıdaki kod kutusunda yer alıyor. Aşağıdaki değerleri kullanın:

    • Kontrol Değişkeni - currentBrightness 5'e ayarlandı, son döngünün sonu.
    • Sona gitmek - 0, ışığı kapatıyor.
    • Artışı - brightnessChange 'i azaltın.

    -- İkinci tur sönecek lambası
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. oyunçalıştırın; ışığın parlaklığını görmelisiniz ve sonra solgun.

Işığı Tekrarlanmasını Sağlamak

Şu anda, ışığın sadece bir kez açılıp kapanmasına izin verilir. Lambayı sürekli olarak parlatmak için, for döngüleri bir döngü içinde yerleştirilir.

  1. For döngüleri altında, yeni bir while döngüsü oluşturun.


    while true do
    end
  2. Her ikisini de bir while döngüsünde yerleştirin. while döngüsünden ayrılabilmeleri için for döngüleri aralarına boşluk ayarlayın.


    while true do
    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    end
  3. Işığın parlak ve solgun olduğunu görmek için oyunu çalıştırın.

Bitirilmiş Işık Kısmı

Skriptin bitirilmiş bir versiyonu aşağıda referanslanabilir.


-- Bu Lambaya bağlı olan ışığı depolar
lightPart = script.Parent
light = lightPart.SpotLight
-- Işığın parlaklığının her seferinde ne kadar değişeceği
local brightnessChange = 1
-- Işığın parlaklığını ne saniyede değiştireceğini
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- Işığı kapatmak için ikinci döngü
for count = 5, 0, -brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
end

Özet

Bir projede karmaşık etkiler oluşturmak için, kodlayıcılar çeşitli tip ve boyutlu kodların kombinasyonlarını ve hatta kodların birbirine katlanmasını kullanabilir. Bir parlayan ışığı kodlamak için, kodlayıcılar daha fazla kod ekledikçe, okunabilirliği artırmak için kodun içine yerleştirmeyi gözden geçirin.