Lumières brillantes avec des boucles

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

Pour pratiquer pour les boucles, vous créerez une lampe qui grandit en lumière progressivement et puis s'éteint au fil du temps. Ce script peut ensuite être appliqué à n'importe quelle autre lampe dans un projet, que ce soit une lampe de rue ou un cristal brillant.

Configurer la partie et le script

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

  1. Pour rendre plus facile de voir la lumière, changez le monde du jeu en nuit . Dans l'Explorateur > Lumière > changez ClockTime à 0.

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

  3. Sélectionnez Lamp, et ajoutez un lumière , comme un PointLight ou SpotLight. Vous travaillerez avec la propriété de la lumière pour créer une lampe brillante.

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


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Ensuite, créez une variable pour définir la façon dont la luminosité de la lumière changera à chaque fois que le boucle s'exécute. Ensuite, ajoutez une autre variable pour définir le nombre de secondes pendant lesquelles les boucles s'exécuteront avant d'être exécutées à nouveau.


    -- Combien la luminosité de la lumière changera à chaque fois
    local brightnessChange = 1
    -- Quelle fréquence, en secondes, la lumière changera de brillance
    local timeChange = 1

Fabriquer briller la lampe

La lampe utilisera deux pour les boucles , l'un qui compte jusqu'à rendre la lampe plus brillante, et l'un qui compte jusqu'à la faire plus sombre. Chaque pour boucle aura une variable de contrôle appelée courantBrightness. De cette façon, au fur et à mesure que la variable de contrôle de la boucle va en hausse et en bas, la luminosité de la lumière va augmenter.

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

Rappelez-vous, un for loop commence par le mot-clé for suivi d'une variable de contrôle. Ce script définira la valeur de l'éclairage à la valeur dans la variable de contrôle.

  1. Codez pour un boucle en utilisant les valeurs suivantes. N'oubliez pas de séparer la variable de contrôle et les valeurs de fin avec un point virgule.

    • Variable de contrôle : currentBrightness
    • Valeur de démarrage : 0
    • Fin de la valeur : 5
    • Valeur d'augmentation : brightnessChange

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


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. Ainsi, la modification n'a pas lieu tout à la fois, ajoutez une fonction d'attente en utilisant la valeur dans timeChange .


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Exécutez le jeu pour voir l'augmentation de la lumière 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 le do et le fin de votre forcle.
  • Vérifiez que timeChange est au moins 1 ou plus haut. Les numéros plus petits rendront le changement de luminosité plus rapide, mais seront plus difficiles à voir au fil du temps.
  • Assurez-vous que la première ligne de votre for loop a deux virgules totales séparant la variable de contrôle, la valeur de fin et la valeur d'augmentation.

Deuxième boucle (baisse de lumière)

Pour atténuer la lumière, utilisez un seconde pour la boucle. Les valeurs de ce boucle seront inversées afin que la lumière commence à briller et chaque seconde, il devient plus faible.

  1. Cliquez sur un code pour l'itération qui réduit la luminosité au fil du temps. La solution est dans la boîte de code ci-dessous. Utilisez les valeurs suivantes :

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

    -- Lampe de deuxième boucle
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. Exécutez votre jeu ; vous devriez voir la lumière s'allumer et puis s'éteindre.

Faire répéter la lumière

En ce moment, la lumière ne s'allume et s'éteint qu'une fois. Pour faire en sorte que la lampe brille en off, les boucles seront placées à l'intérieur d'un répéter tout en boucle.

  1. Sous les forcles, créez un nouveau while loop.


    while true do
    end
  2. Placez les deux pour les boucles dans un while loop. Indent les for boucles pour les rendre plus faciles à séparer du while loop.


    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 le jeu pour voir la lumière s'allumer et s'éteindre de manière continue.

Script de lumière terminé

Une version finie 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 brillance
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 codifier une lumière clignotante, deux boucles sont imbriquées dans un boucle de temps. Au fur et à mesure que les coders ajoutent en plus de boucles, assurez-vous de vérifier l'indentation pour que le code soit facile à lire.