Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengakses Pembolehubah dan Fungsi daripada Satu Skrip Perpaduan kepada Skrip Satu lagi?

Bagaimanakah Saya Boleh Mengakses Pembolehubah dan Fungsi daripada Satu Skrip Perpaduan kepada Skrip Satu lagi?

Susan Sarandon
Susan Sarandonasal
2025-01-18 06:21:09616semak imbas

How Can I Access Variables and Functions from One Unity Script to Another?

Akses pembolehubah dan fungsi merentas skrip Unity

Dalam Unity, setiap skrip berjalan secara bebas, menjadikannya sukar untuk mengakses pembolehubah atau fungsi panggilan daripada satu skrip dalam yang lain. Walau bagaimanapun, dengan bantuan ahli awam dan rujukan objek, komunikasi boleh diwujudkan antara skrip yang dilampirkan pada GameObjects yang berbeza.

Pembolehubah dan fungsi awam

Langkah pertama ialah mengisytiharkan pembolehubah atau fungsi yang anda mahu akses atau panggil sebagai umum dalam skrip. Ini menjadikannya kelihatan kepada skrip lain dalam tempat kejadian. Sebagai contoh, dalam ScriptA anda akan mentakrifkan sesuatu seperti ini:

<code class="language-c#">public class ScriptA : MonoBehaviour {

    public int playerScore = 0;

    void Start() {

    }

    public void doSomething() {

    }
}</code>

Rujukan objek

Untuk mengakses pembolehubah atau fungsi daripada skrip lain, anda perlu mendapatkan rujukan kepada GameObject yang dilampirkan skrip yang dikehendaki. Ini boleh dicapai menggunakan fungsi GameObject.Find, yang mengambil nama GameObject sebagai parameter. Sebaik sahaja anda telah memperoleh GameObject, anda boleh menggunakan fungsi GetComponent untuk mendapatkan semula komponen skrip tertentu.

<code class="language-c#">public class ScriptB : MonoBehaviour {

    private ScriptA scriptInstance = null;

    void Start() {
        GameObject tempObj = GameObject.Find("NameOfGameObjectScriptAIsAttachedTo");
        scriptInstance = tempObj.GetComponent<ScriptA>();

        // 访问ScriptA中的playerScore变量
        scriptInstance.playerScore = 5;

        // 调用ScriptA中的doSomething()函数
        scriptInstance.doSomething();
    }
}</code>

Anda boleh mewujudkan komunikasi antara skrip berbeza dalam adegan dengan menetapkan pembolehubah awam playerScore atau memanggil fungsi awam doSomething(). Pendekatan ini membolehkan anda menyelaraskan tingkah laku interaksi objek yang berbeza dan mencipta interaksi yang lebih kompleks dalam permainan anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah dan Fungsi daripada Satu Skrip Perpaduan kepada Skrip Satu lagi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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