Parlak ışıklar için döngüler

*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üleri pratik etmek için, zamanla giderek daha parlak hale gelen ve sonra sönmeye başlayan bir lamba oluşturacaksınız. Bu script, bir projedeki herhangi bir ışığa, ister bir sokak lambası ister parlayan bir kristal olsun, uygulanabilir.

Parçayı ve scripti ayarlayın

Lamba, bir ışık ve script ile ilişkilendirilmiş bir parça olacaktır.

  1. Işığı daha iyi görebilmek için 3D dünyayı gece moduna değiştirin. ExplorerLighting kısmında ClockTime değerini 0 olarak değiştirin.

    görüntü
  2. Lamba adında yeni bir parça veya model oluşturun.

  3. Lamba'yı seçin ve bir ışık ekleyin, örneğin bir PointLight veya SpotLight. Parlayan bir lamba oluşturmak için ışığın parlaklık özelliği ile çalışacaksınız.

  4. Lamba'ya GlowScript adında yeni bir script ekleyin. Bu scriptte, lamba parçasını ve nokta ışığını saklamak 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 tutacak bir değişken oluşturun. Ardından, döngülerin tekrar çalışmadan önce kaç saniye bekleyeceği için başka bir değişken ekleyin.

    -- Işığın parlaklığının her seferinde ne kadar değişeceği
    local brightnessChange = 1
    -- Işığın parlaklığının ne sıklıkla değişeceği (saniye cinsinden)
    local timeChange = 1

Lambayı parlatın

Lamba, birini lambayı daha parlak hale getirmek için sayan ve diğerini sönmek için sayan iki for döngüsü kullanacaktır. Her for döngüsünün bir kontrol değişkeni olacak, bu değişkenin adı currentBrightness. Böylece, for döngüsünün kontrol değişkeni yukarı ve aşağı giderken, ışığın parlaklığı da öyle olacaktır.

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

Unutmayın, bir for döngüsü for anahtar kelimesi ile başlar ve ardından bir kontrol değişkeni gelir. Bu script, ışığın parlaklık değerini kontrol değişkenindeki değere ayarlayacaktır.

  1. Aşağıdaki değerleri kullanarak for döngüsünü kodlayın. Kontrol değişkeni ve bitiş değerini bir virgül ile ayırmayı unutmayın.

    • Kontrol değişkeni: currentBrightness
    • Başlangıç değeri: 0
    • Bitiş değeri: 5
    • Artış Değeri: brightnessChange
    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. For döngüsünün kapsamı içinde, ışığın parlaklık özelliğini kontrol değişkenindeki değere ayarlamak için light.Brightness = currentBrightness yazın. Artık döngü çalıştığında, ışık daha parlak hale gelecektir.

    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. Değişimin bir anda olmaması için, timeChange değerini kullanarak bir bekleme fonksiyonu ekleyin.

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

Eğer ilk döngüde zamanla parlaklık değişimini göremiyorsanız:

  • light.Brightness = currentBrightness ifadesinin for döngünüzün do ve end'inin arasında olduğundan emin olun.
  • timeChange değerinin en az 1 veya daha yüksek olduğundan emin olun. Daha küçük sayılar, parlaklığın daha hızlı değişmesine neden olur, ancak zamanla görmek daha zor olabilir.
  • For döngünüzün ilk satırında kontrol değişkeni, bitiş değeri ve artış değeri arasında toplam iki virgül olduğundan emin olun.

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

Işığı kısmak için, ikinci bir for döngüsü kullanın. Bu döngünün değerleri tersine çevrilecektir, böylece ışık parlak başlar ve her saniye daha az parlak hale gelir.

  1. Zamanla parlaklığı azaltan ikinci bir for döngüsü kodlayı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 5 değeri.
    • Bitiş - 0, ışığı kapatmak.
    • Artış - brightnessChange değerini çıkarın.
    -- İkinci döngü lambayı kısar
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. Oyununuzu çalıştırın; ışığın parladığını ve sonra sönmeye başladığını görmelisiniz.

Işığı tekrarlayın

Şu anda, ışık sadece bir kez açılıp kapanıyor. Lambanın sürekli olarak açılıp kapanmasını sağlamak için, for döngüleri bir tekrarlayan while döngüsü içine yerleştirilecektir.

  1. For döngülerinin altına yeni bir while döngüsü oluşturun.

    while true do
    end
  2. Her iki for döngüsünü bir while döngüsünün içine yerleştirin. For döngülerini, while döngüsünden ayırt etmek için girintileyin.

    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. Oyunu çalıştırın ve ışığın sürekli olarak parlak ve sönük hale geldiğini görün.

Tamamlanmış ışık scripti

Aşağıda referans alabileceğiniz tamamlanmış bir script versiyonu bulunmaktadır.

-- Bu lambaya bağlı ışığı saklar
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ın ne sıklıkla değişeceği (saniye cinsinden)
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 efektler oluşturmak için, scriptler birden fazla döngü ve hatta farklı döngü türlerinin kombinasyonlarını kullanabilir. Parlayan bir ışık kodlamak için, iki döngü bir while döngüsü içinde iç içe yerleştirilmiştir. Kodlayıcılar daha fazla döngü ekledikçe, kodun okunabilirliğini sağlamak için girintileri kontrol etmeyi unutmayın.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.