Pratique des paramètres - boutons

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

Les boutons peuvent être utilisés par les joueurs pour débloquer de nouvelles zones, donner des points et révéler des trésors. Chaque fois qu'un joueur touche un bouton, il devrait donner un retour pour informer les joueurs qu'il est en cours d'interaction, comme changer de couleur ou émettre des sons.

Dans cet exemple, le bouton sera utilisé pour activer un pont. Lorsque le bouton a été pressé, il deviendra vert et les joueurs pourront utiliser le pont. Si le joueur n'a pas pressé le bouton, il tombera à travers le pont lorsqu'il essaiera de marcher dessus.

Créer un pont

Commencez par mettre en place le pont.

  1. Créez une zone dans votre environnement où les joueurs auront besoin d'un pont.

  2. Créez une pièce pour le pont et renommez-la en Pont.

  3. Sélectionnez le pont, dans la fenêtre Propriétés :

    • Changez Transparence à .5. Pour la transparence, 0 est visible, 1 est invisible.
    • Cochez Ancré.
    • Décochez PeutCollider.
  4. Lorsque vous testez le jeu, le pont devrait avoir un aspect brumeux et les gens ne devraient pas pouvoir marcher dessus pour l'instant.

Créer le bouton

Maintenant que le pont est mis en place, créez le bouton.

  1. Créez une nouvelle pièce nommée Bouton.

  2. Changez la couleur du bouton en rouge.

  3. Ancrez le bouton.

  4. Déplacez le bouton pour qu'il flotte légèrement et ne touche rien. Cela permet de s'assurer que l'événement Touché ne se déclenche pas accidentellement.

Rendre le bouton interactif

Cette fois, au lieu d'utiliser l'événement Touché pour créer un piège, vous l'utiliserez pour créer un bouton qui rend le pont utilisable. Pour rendre le pont collidable, utilisez le code bridge.CanCollide = true dans une fonction personnalisée qui s'exécute lorsqu'un joueur touche le bouton. Vous savez tout ce qu'il vous faut pour compléter les étapes suivantes.

Essayez de le découvrir par vous-même avant de regarder la solution de code.

  1. Insérez un nouveau script dans le bouton nommé ActiverPont.
  2. Supprimez Hello World.
  3. Créez des variables pour le pont et pour le bouton.
  4. Créez une fonction locale qui fait ce qui suit lorsque le bouton est touché :
    • Imprime "bouton touché".
    • Change la couleur du bouton de rouge à vert lorsqu'il est touché.
    • Change la transparence du pont à 0 pour le rendre visible.
    • Rend le pont utilisable en utilisant le code bridge.CanCollide = true.
  5. Connectez la fonction à l'événement Touché du bouton.
  6. Testez le script et assurez-vous que le pont apparaît lorsque le bouton est touché.

Solution de code Voici une solution de code possible

-- Insérez ce script dans le bouton
-- Change le bouton en vert lorsque quelque chose touche le bouton.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("bouton touché")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)

Dépanner votre code

Problème : Le pont est déjà solide lorsque le jeu commence. Assurez-vous que les pièces sont ancrées et ne touchent rien. Les pièces pourraient toucher quelque chose, comme le terrain ou une autre pièce, et provoquer l'exécution accidentelle de la fonction buttonPressed().

Problème : Vous obtenez une erreur dans la fenêtre de sortie disant : "Bridge n'est pas un membre valide de Workspace" Vérifiez les éléments suivants :

  • Le nom de votre pont. Le pont dans votre script doit être nommé exactement comme dans l'Explorateur.
  • Que part.Touched:Connect(buttonPressed) est en dehors de la fonction buttonPressed().

Défi de code optionnel

Le script de cette leçon peut également être utilisé pour garder des portes qui empêchent les joueurs d'entrer dans des zones spécifiques. Pratiquez vos compétences en codage et faites ce qui suit :

  • Créez une pièce de porte.
  • Créez un bouton plus loin de la porte.
  • Modifiez le script de cette leçon pour qu'il fasse changer la transparence de la porte et que le joueur ne puisse pas entrer en collision avec elle.

Votre version pourrait ressembler à ceci :

local button = script.Parent
-- Rappel : Remplacez le nom de la pièce, Porte, par celui de votre projet
local gate = workspace.Gate
local function buttonPressed()
print("bouton touché")
-- Change le bouton en rouge pour donner un retour au joueur
button.BrickColor = BrickColor.Red() -- CHANGEZ CECI
-- Rend la porte invisible
gate.Transparency = 1
-- Fait en sorte que le joueur puisse traverser la porte
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)
©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.