Normalement, les fonctions ne peuvent utiliser que les informations qui leur sont codées. Cependant, parfois, vous ne savez pas à l'avance quelles seront ces informations, ou vous voulez pouvoir réutiliser la même fonction avec plusieurs morceaux d'informations similaires. Par exemple, si vous vouliez utiliser une fonction pour afficher le nom de la personne qui a terminé le parcours obby le plus rapidement en lettres géantes pour tout le monde. Vous ne connaîtrez pas le nom du futur gagnant tant que la course n'est pas terminée.
Les paramètres sont des espaces réservés pour des informations que vous souhaitez donner à la fonction ultérieurement. Ils ressemblent à des fenêtres qui vous permettent de passer des informations à la fonction.
Utilisez des paramètres et des événements pour configurer un piège
Ce script créera une pièce de piège qui détruira tout ce qui touche la pièce, y compris d'autres pièces. Vous devrez utiliser un paramètre pour le configurer. Faites attention à ancrer le piège pour qu'il ne tombe pas et ne détruise pas d'objets par inadvertance.
Créez une nouvelle pièce
Une pièce doit être configurée pour détruire tout ce qui la touche.
- Créez une nouvelle pièce qui ne touche rien. Si elle touche quelque chose, elle pourrait se déclencher trop tôt.
- Dans l'Explorateur, renommez la pièce : TrapPart.
- Ancrez la pièce.
Configurez le script
Utilisez ce que vous savez sur les variables et la hiérarchie d'expérience pour référencer la pièce de piège.
Ajoutez un nouveau script dans la pièce de piège. Renommez le script TrapScript.
Supprimez Hello World et ajoutez un commentaire descriptif.
Sous le commentaire, créez une nouvelle variable qui trouve le parent du script.
-- Détruit tout ce qui touche le parentlocal trap = script.Parent
Créez une fonction avec un paramètre
Le piège utilisera une fonction pour détruire tout ce qui touche la pièce. Pour fonctionner, la fonction doit savoir ce qui a touché la pièce. Et cela signifie utiliser des paramètres. Les paramètres sont tapés à l'intérieur des () qui suivent le nom d'une fonction. Ils ressemblent à ceci :
local function functionName(parameterName)
end
Les informations réelles qui sont passées par le paramètre sont appelées un argument. Vous allez créer une nouvelle fonction appelée onTouch() avec un paramètre appelé objectTouched qui suivra tout ce qui touche le piège, puis détruira la pièce touchée.
Créez une fonction locale. Elle peut être nommée n'importe comment, mais cette leçon utilisera onTouch
local trap = script.Parentlocal function onTouch()endÀ l'intérieur des (), tapez un nom pour le paramètre. Cette leçon utilisera objectTouched.
local trap = script.Parentlocal function onTouch(objectTouched)endEntre local function onTouch() et end, créez une instruction print. Vous l'utiliserez pour vérifier si quelque chose touche la pièce dans la section suivante.
local trap = script.Parentlocal function onTouch(objectTouched)print("Quelque chose a touché le piège")end
Utilisez un événement pour appeler la fonction
Nous voulons que la fonction s'exécute chaque fois que quelque chose touche la pièce. Pour que cela se produise, connectez la fonction à l'événement Touched. Les événements sont des choses qui se produisent dans l'expérience. Comme un joueur touchant une pièce ou perdant de la santé. Lorsqu'une fonction est connectée à un événement, la fonction s'exécute chaque fois que l'événement se produit.
L'événement Touched se déclenche chaque fois qu'une pièce touche une autre pièce et peut être utilisé pour créer des boutons, des pièges et d'autres objets avec lesquels les joueurs interagissent.
Sous le end de la fonction, tapez trap.Touched:Connect(onTouch)
local trap = script.Parentlocal function onTouch(objectTouched)print("Quelque chose a touché le piège")end-- Connectez la fonction à l'événement Touchedtrap.Touched:Connect(onTouch)Cliquez sur Test et touchez ensuite la pièce. Vérifiez votre instruction de test : Quelque chose a touché le piège. Si vous ne voyez pas la chaîne dans la fenêtre de sortie, vérifiez les éléments suivants :
- Assurez-vous que la chaîne "Quelque chose a touché la pièce !" est entre local function onTouch() et end.
- Vérifiez que Touched est en majuscules.
Maintenant que la fonction est correctement configurée, utilisez-la pour détruire tout ce qui touche la pièce. À l'intérieur de la fonction, après la chaîne, tapez objectTouched:Destroy() Le code complet doit être :
local trap = script.Parentlocal function onTouch(objectTouched)print("Quelque chose a touché le piège")-- Détruire l'objet touchéobjectTouched:Destroy()endtrap.Touched:Connect(onTouch)Testez à nouveau et voyez ce qui se passe lorsque la pièce est touchée. Votre avatar devrait se retrouver sans pieds ni bras. Si la pièce touche la tête ou le cou de l'avatar, elle pourrait même être complètement détruite.
Résumé
Les paramètres sont utilisés pour passer des informations qui seraient normalement hors de portée (où une fonction ne peut pas les voir) dans une fonction. En attendant, les événements sont des signaux spéciaux qui se déclenchent dans l'expérience lorsque quelque chose d'important se produit. Différents objets ont différents événements. Les fonctions peuvent être connectées à des événements afin qu'elles soient appelées chaque fois que l'événement se déclenche. Ce petit script a connecté une fonction à l'événement Touched du piège, et a passé ce qui touchait le piège par le biais du paramètre.