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 daha parlak hale gelen ve ardından solan bir lamba oluşturacaksınız. Bu script daha sonra bir projedeki başka ışıklara da uygulanabilir, ister bir sokak lambası ister parlayan bir kristal olsun.

Parçayı ve scripti ayarlayın

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

  1. Işığı daha iyi görmek için, 3D dünyayı gece moduna geçirin. ExplorerAydınlatma bölümünde ClockTime değerini 0 olarak değiştirin.

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

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

  4. Lamba içinde 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. Sonraki adımda, 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ünün yeniden ç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 değişim sıklığı
    local timeChange = 1

Lambayı parlatın

Lamba, birinin lambayı parlak hale getirmek için yukarı saydığı ve diğerinin de söndürmek için aşağıya saydığı iki for döngüsü kullanacaktır. Her for döngüsünün bir kontrol değişkeni olacak: currentBrightness. Böylece, for döngüsünün kontrol değişkeni yukarı ve aşağı doğru hareket ettikçe, ışığın parlaklığı da öyle olacaktır.

İlk döngü (ışığın 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 son değerleri bir virgül ile ayırmayı unutmayın.

    • 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 kapsamı içinde, ışığın parlaklık özelliğini kontrol değişkenindeki değere ayarlayın ve 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 olmasını istemediğiniz için, timeChange değerini kullanarak bir bekleme fonksiyonu ekleyin.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Deneyimi çalıştırın ve ışığın her saniyede nasıl parlaklaştığı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üsünün do ve end kısımları 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ığı faster değiştirecek ancak zamanla görmek daha zor olacaktır.
  • For döngünüzün ilk satırının, kontrol değişkeni, son değer ve artış değeri arasında toplam iki virgül bulunduğundan emin olun.

İkinci döngü (ışığın azalması)

Işığı azaltmak için ikinci bir for döngüsü kullanın. Bu döngünün değerleri tersine dönecek, böylece ışık parlak başladığından her saniyede daha loş hale gelecektir.

  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üdeki 5 olarak ayarlanır.
    • Son - 0, ışığı kapatacak.
    • Artış - brightnessChange'i çıkarın.

    -- İkinci döngü lambayı loşlaştırır
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. Deneyiminizi çalıştırın; ışığın nasıl parlaklaştığını ve sonra loşlaştığını göreceksiniz.

Işığın tekrar etmesini sağlayın

Şu anda, ışık sadece bir kez yanıp sönüyor. Lambanın sürekli olarak yanıp sönmesini sağlamak için, for döngüleri bir tekrar eden while döngüsünün 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ü de while döngüsünün içine yerleştirin. For döngülerini belli etmek için girintili yapı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. Deneyimi çalıştırarak ışığın sürekli olarak nasıl parlayıp loşlaştığını görün.

Tamamlanmış ışık scripti

Aşağıda referans alabileceğiniz tamamlanmış bir script versiyonu vardı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 değişim sıklığı
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- Işığı kapatacak 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ü kullanabilir ve hatta farklı döngü türlerinin kombinasyonlarını içerebilir. Parlayan bir ışık kodlamak için, iki döngü bir while döngüsünün içine yerleştirilmiştir. Kodlayıcılar daha fazla döngü ekledikçe, kodun kolay okunabilir olmasını 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.