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:
using UnityEngine;
public YourScriptName otherScript;
(Ganti YourScriptName
dengan nama sebenar skrip yang mengandungi pembolehubah).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:
otherScript.yourVariable = newValue;
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>
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!