Döngüler için parlayan ışı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.

Döngüler için pratik yapmak için, yavaş yavaş daha parlak parlayan bir lamba oluşturacaksınız ve ardından zamanla kararmaya başlayacak.Bu senaryo daha sonra bir projedeki diğer ışıklara uygulanabilir, sokak ışığı ya da parlayan kristal olsun.

Parçayı ve senaryoyu kurun

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

  1. Işığı görmek daha kolay olması için, oyun dünyasını gece zamanına değiştirin. Explorer > Aydınlatma > değiştir Saat zamanı 0'a.

    image
  2. Lamba adlı yeni bir parça veya model oluşturun.

  3. Lambayı seçin ve bir ışık ekleyin, bir NoktaIşığı veya SpotIşığı gibi.Parlak ışığın parlaklık özelliğiyle bir parlayan lamba oluşturmak için çalışacaksınız.

  4. Lamba'da, GlowScript adlı yeni bir senaryo ekleyin. Bu senaryoda, lamba parçasını ve nokta ışığını depolamak için değişkenler oluşturun.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Sonra, döngü her çalıştığında ışığın parlaklığının ne kadar değişeceğini tutan bir değişken oluşturun.Sonra, döngülerin tekrar çalışmadan önce kaç saniye bekleyeceğine dair başka bir değişken ekleyin.


    -- Işığın parlaklığı her seferinde ne kadar değişecek
    local brightnessChange = 1
    -- Işık ne sıklıkla saniyeler içinde parlaklığı değiştirecek
    local timeChange = 1

Lambayı parlat

Lamba iki döngü için kullanacaktır , biri lambayı daha parlak hale getirmek için, diğeri ise onu karartmak için sayıyor.Her döngü için bir kontrol değişkeni olan currentBrightness adlı bir değişken olacak.Bu şekilde, for döngüsünün kontrol değişkeni yukarı ve aşağı gittiğinde, ışığın parlaklığı da öyle olacaktır.

İlk döngü (ışık artışı)

Unutmayın, bir döngü anahtar kelime for ile başlar ve bir kontrol değişkeni takip eder.Bu kod, ışığın parlaklık değerini kontrol değişkenine değere ayarlayacaktır.

  1. Kontrol değişkenini ve son değerleri virgülle ayırmayı unutmayın. İşte aşağıdaki değerleri kullanarak döngü için kodlayın.

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

    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. for döngüsünün kapsamında, ışığın parlaklık özelliğini kontrol değişkenindeki değere light.Brightness = currentBrightness yazarak ayarlayın.Şimdi, döngü çalıştığında, ışık daha parlak hale gelecek.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. Bu nedenle değişiklik bir anda gerçekleşmez, timeChange 'deki değeri kullanarak bir bekleme işlevi ekleyin.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Her saniye daha parlak hale gelen ışığı görmek için oyunu çalıştırın.

İlk döngüde süre boyunca parlaklık değişimini göremiyorsanız:

  • light.Brightness = currentBrightness 'nin do ve for döngünün sonundan arasında olduğundan emin olun.
  • timeChange en az 1 veya daha yüksek olduğundan emin olun. Daha küçük sayılar parlaklığı daha hızlı değiştirecek, ancak zamanla görülmesi daha zor olacak.
  • Kontrol değişkeni, son değer ve artış değeri arasında birleştiren iki noktalı virgül bulunduğundan emin olun for döngüsünün ilk satırının kontrol değişkeni, son değer ve artış değeri ile ilgili olduğundan emin olun.

İkinci döngü (ışık azalması)

Işığı azaltmak için, döngü için ikinci bir saniye kullanın. Bu döngünün değerleri tersine çevrilecek, böylece ışık parlak başlayacak ve her saniye daha az parlak olacak.

  1. Zamanla parlaklığı azaltan bir döngü kodu yazın. Çözüm aşağıdaki kod kutusundadır. Aşağıdaki değerleri kullanın:

    • Kontrol Değişkeni - currentBrightness son döngünün sonuna 5 ayarlandı, 5.
    • Sonu - 0, ışığı kapatıyor
    • Artış - çıkar brightnessChange .

    -- İkinci döngü karartma lambası
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. oyunçalıştırın; ışığın parlaklaşıp sonra kararmasını görmelisiniz.

Işığı tekrarlatın

Şu anda, ışık yalnızca bir kez açılıp kapatılır.Lambanın sürekli olarak yanıp söndürülmesini sağlamak için, döngüler tekrarlayan bir döngü içine yerleştirilecektir.

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


    while true do
    end
  2. Her ikisini de while döngüsünün içine yerleştirin. While döngülerini ayırt etmelerini kolaylaştırmak için for döngülerini indirin.


    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 sürekli olarak parlak ve kararmasını görmek için oyunu çalıştırın.

Işık senaryosu bitirildi

Senaryonun bitmiş bir versiyonu aşağıda referans olarak gösterilebilir.


-- Bu lamba ile bağlı ışığı depolar
lightPart = script.Parent
light = lightPart.SpotLight
-- Işığın parlaklığı her seferinde ne kadar değişecek
local brightnessChange = 1
-- Işık ne sıklıkla saniyeler içinde parlaklığı değiştirecek
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, senaryolar çoklu döngüleri ve hatta farklı türde döngü kombinasyonlarını kullanabilir.Parlayan bir ışığı kodlamak için, iki döngü bir while döngüsü içine yerleştirilir.Kodlama daha fazla döngü ekledikçe, kodun okunması kolay olması için satır aralarını kontrol ettiğinizden emin olun.