Maison > développement back-end > C++ > Comment accéder aux variables à partir de scripts externes dans Unity C# ?

Comment accéder aux variables à partir de scripts externes dans Unity C# ?

Linda Hamilton
Libérer: 2025-01-11 07:39:43
original
937 Les gens l'ont consulté

How to Access Variables from External Scripts in Unity C#?

Accès aux variables à partir de scripts externes : un guide Unity C#

Une communication inter-composants efficace dans Unity nécessite souvent l'accès à des variables dans d'autres scripts. Ce guide explique comment y parvenir.

Obtention de la référence du composant de script

Avant d'accéder à une variable dans un autre script, vous avez besoin de la référence de son composant de script. Ceci est particulièrement important lorsque la variable réside dans un GameObject différent. Suivez ces étapes :

  1. Assurez-vous d'avoir la déclaration using nécessaire : using UnityEngine;
  2. Déclarez une variable pour contenir le composant de script. Par exemple : public YourScriptName otherScript; (Remplacez YourScriptName par le nom réel du script contenant la variable).
  3. Dans la méthode Start(), obtenez le composant de script en utilisant otherScript = targetGameObject.GetComponent<YourScriptName>();, où targetGameObject est le GameObject contenant le script cible.

Accès à la variable

Une fois que vous avez la référence du script, accéder à ses variables est simple :

  • Pour modifier une variable : otherScript.yourVariable = newValue;
  • Pour lire la valeur d'une variable : int myValue = otherScript.yourVariable;

Exemple illustratif

Supposons que nous ayons ScriptA.cs avec une variable booléenne publique myBool, et que nous souhaitons y accéder et la modifier à partir de ScriptB.cs attachée à un GameObject différent.

<code class="language-csharp">// ScriptB.cs
public GameObject targetObject; // Drag and drop the GameObject with ScriptA in the Inspector
public ScriptA scriptA;

void Start() {
    scriptA = targetObject.GetComponent<ScriptA>();
}

void Update() {
    if (scriptA != null) {
        scriptA.myBool = true; // Modify the boolean variable
        Debug.Log("Value of myBool: " + scriptA.myBool); // Read and print the value
    } else {
        Debug.LogError("ScriptA not found!");
    }
}</code>
Copier après la connexion

N'oubliez pas d'attribuer le GameObject contenant ScriptA à la variable targetObject dans l'inspecteur. La vérification null évite les erreurs si ScriptA n'est pas trouvé. Cette approche garantit un accès aux variables robuste et sans erreur entre les scripts.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal