Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengakses Pembolehubah daripada Skrip Luaran dalam Unity C#?

Bagaimana untuk Mengakses Pembolehubah daripada Skrip Luaran dalam Unity C#?

Linda Hamilton
Lepaskan: 2025-01-11 07:39:43
asal
945 orang telah melayarinya

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

Mengakses Pembolehubah daripada Skrip Luaran: Panduan C# Unity

Komunikasi antara komponen yang berkesan dalam Unity selalunya memerlukan akses kepada pembolehubah dalam skrip lain. Panduan ini memperincikan cara untuk mencapainya.

Mendapatkan Rujukan Komponen Skrip

Sebelum mengakses pembolehubah dalam skrip lain, anda memerlukan rujukan komponen skripnya. Ini amat penting apabila pembolehubah berada dalam GameObject yang berbeza. Ikuti langkah ini:

  1. Pastikan anda mempunyai pernyataan menggunakan yang diperlukan: using UnityEngine;
  2. Isytiharkan pembolehubah untuk memegang komponen skrip. Contohnya: public YourScriptName otherScript; (Ganti YourScriptName dengan nama sebenar skrip yang mengandungi pembolehubah).
  3. Dalam kaedah Start(), dapatkan komponen skrip menggunakan otherScript = targetGameObject.GetComponent<YourScriptName>();, dengan targetGameObject ialah GameObject yang mengandungi skrip sasaran.

Mengakses Pembolehubah

Sebaik sahaja anda mempunyai rujukan skrip, mengakses pembolehubahnya adalah mudah:

  • Untuk mengubah suai pembolehubah: otherScript.yourVariable = newValue;
  • Untuk membaca nilai pembolehubah: int myValue = otherScript.yourVariable;

Contoh Ilustrasi

Anggap kita mempunyai ScriptA.cs dengan pembolehubah boolean awam myBool, dan kami mahu mengakses dan mengubah suainya daripada ScriptB.cs dilampirkan pada GameObject yang berbeza.

<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>
Salin selepas log masuk

Ingat untuk menetapkan GameObject yang mengandungi ScriptA kepada pembolehubah targetObject dalam Inspektor. Semakan null menghalang ralat jika ScriptA tidak ditemui. Pendekatan ini memastikan akses pembolehubah yang mantap dan bebas ralat antara skrip.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Pembolehubah daripada Skrip Luaran dalam Unity C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan