Lumières lumineuses avec des boucles pour

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Pour pratiquer les boucles for, vous allez créer une lampe qui brille progressivement de plus en plus et s'assombrit ensuite avec le temps. Ce script peut ensuite être appliqué à d'autres lumières d'un projet, que ce soit un lampadaire ou un cristal lumineux.

Configurez la pièce et le script

La lampe sera une pièce avec une lumière et un script attachés.

  1. Pour rendre la lumière plus facile à voir, changez le monde 3D en nuit. Dans l'ExplorateurÉclairage, changez ClockTime en 0.

    image
  2. Créez une nouvelle partie ou un modèle nommé Lampe.

  3. Sélectionnez la Lampe, et ajoutez une lumière, telle qu'une PointLight ou SpotLight. Vous allez travailler avec la propriété de luminosité de la lumière pour créer une lampe lumineuse.

  4. Dans la Lampe, ajoutez un nouveau script nommé GlowScript. Dans ce script, créez des variables pour stocker la pièce de lampe et la lumière point.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Ensuite, créez une variable pour indiquer combien la luminosité de la lumière changera à chaque fois que la boucle s'exécute. Ajoutez ensuite une autre variable pour combien de secondes la boucle attendra avant de s'exécuter à nouveau.


    -- Combien la luminosité de la lumière changera chaque fois
    local brightnessChange = 1
    -- À quelle fréquence en secondes la lumière changera de luminosité
    local timeChange = 1

Faites briller la lampe

La lampe utilisera deux boucles for, une qui compte pour rendre la lampe plus lumineuse, et une autre qui compte pour l'assombrir. Chaque boucle for aura une variable de contrôle appelée currentBrightness. De cette façon, lorsque la variable de contrôle de la boucle for augmente et diminue, la luminosité de la lumière le fera aussi.

Première boucle (augmentation de la lumière)

N'oubliez pas qu'une boucle for commence par le mot clé for suivi d'une variable de contrôle. Ce script définira la valeur de luminosité de la lumière à la valeur de la variable de contrôle.

  1. Codez la boucle for en utilisant les valeurs suivantes. N'oubliez pas de séparer la variable de contrôle et les valeurs finales par une virgule.

    • Variable de contrôle : currentBrightness
    • Valeur de départ : 0
    • Valeur de fin : 5
    • Valeur d'incrément : brightnessChange

    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. Dans la portée de la boucle for, définissez la propriété de luminosité de la lumière à la valeur de la variable de contrôle en tapant light.Brightness = currentBrightness. Maintenant, lorsque la boucle s'exécute, la lumière deviendra plus brillante.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. Pour que le changement ne se produise pas d'un seul coup, ajoutez une fonction d'attente utilisant la valeur de timeChange.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Exécutez l'expérience pour voir la lumière augmenter en luminosité chaque seconde.

Si vous ne pouvez pas voir le changement de luminosité au fil du temps dans la première boucle :

  • Assurez-vous que light.Brightness = currentBrightness est entre do et end de votre boucle for.
  • Vérifiez que timeChange est au moins 1 ou plus. Les nombres plus petits feront changer la luminosité plus rapidement, mais seront plus difficiles à voir avec le temps.
  • Assurez-vous que la première ligne de votre boucle for a deux virgules au total séparant la variable de contrôle, la valeur finale et la valeur d'incrément.

Deuxième boucle (diminution de la lumière)

Pour assombrir la lumière, utilisez une deuxième boucle for. Les valeurs de cette boucle seront inversées pour que la lumière commence brillante et s'assombrisse chaque seconde.

  1. Codez une deuxième boucle for qui diminue la luminosité avec le temps. La solution se trouve dans la boîte de code ci-dessous. Utilisez les valeurs suivantes :

    • Variable de contrôle - currentBrightness défini à 5, à la fin de la dernière boucle.
    • Fin - 0, éteignant la lumière.
    • Incrément - soustraire brightnessChange.

    -- La deuxième boucle diminue la lampe
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. Exécutez votre expérience; vous devriez voir la lumière s'illuminer puis s'éteindre.

Faites que la lumière se répète

Pour l’instant, la lumière ne s’allume et ne s’éteint qu’une seule fois. Pour faire en sorte que la lampe brille continuellement, les boucles for seront placées à l’intérieur d’une boucle while répétée.

  1. Sous les boucles for, créez une nouvelle boucle while.


    while true do
    end
  2. Placez les deux boucles for à l'intérieur d'une boucle while. Indentez les boucles for pour les rendre plus faciles à distinguer de la boucle while.


    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. Exécutez l'expérience pour voir la lumière s'allumer et s'éteindre en continu.

Script de lumière terminé

Une version terminée du script peut être référencée ci-dessous.


-- Stocke la lumière attachée à cette lampe
lightPart = script.Parent
light = lightPart.SpotLight
-- Combien la luminosité de la lumière changera chaque fois
local brightnessChange = 1
-- À quelle fréquence en secondes la lumière changera de luminosité
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- Deuxième boucle pour éteindre la lumière
for count = 5, 0, -brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
end

Résumé

Pour créer des effets complexes dans un projet, les scripts peuvent utiliser plusieurs boucles, et même des combinaisons de différents types de boucles. Pour coder une lumière lumineuse, deux boucles sont imbriquées dans une boucle while. Lorsque les codeurs ajoutent davantage de boucles, il est important de vérifier l'indentation afin que le code soit facile à lire.

©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.