> 백엔드 개발 > C++ > 한 Unity 스크립트에서 다른 Unity 스크립트로 변수 및 함수에 어떻게 액세스할 수 있나요?

한 Unity 스크립트에서 다른 Unity 스크립트로 변수 및 함수에 어떻게 액세스할 수 있나요?

Susan Sarandon
풀어 주다: 2025-01-18 06:21:09
원래의
612명이 탐색했습니다.

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

Unity 스크립트 전체에서 변수 및 함수에 액세스

Unity에서는 각 스크립트가 독립적으로 실행되므로 한 스크립트에서 다른 스크립트의 변수에 액세스하거나 함수를 호출하기가 어렵습니다. 그러나 공용 멤버 및 개체 참조의 도움으로 서로 다른 GameObject에 연결된 스크립트 간에 통신이 설정될 수 있습니다.

공용 변수 및 함수

첫 번째 단계는 액세스하거나 호출하려는 변수나 함수를 스크립트에서 공개로 선언하는 것입니다. 이렇게 하면 장면의 다른 스크립트에 표시됩니다. 예를 들어 ScriptA에서는 다음과 같이 정의합니다.

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

    public int playerScore = 0;

    void Start() {

    }

    public void doSomething() {

    }
}</code>
로그인 후 복사

객체 참조

다른 스크립트에서 변수나 함수에 액세스하려면 원하는 스크립트가 연결된 GameObject에 대한 참조를 가져와야 합니다. 이는 GameObject의 이름을 매개변수로 사용하는 GameObject.Find 함수를 사용하여 달성할 수 있습니다. GameObject를 얻은 후에는 GetComponent 함수를 사용하여 특정 스크립트 구성 요소를 검색할 수 있습니다.

<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>
로그인 후 복사

공개 변수playerScore를 설정하거나 공개 함수doSomething()를 호출하여 장면의 여러 스크립트 간 통신을 설정할 수 있습니다. 이 접근 방식을 사용하면 다양한 개체의 상호 작용 동작을 조정하고 게임에서 더욱 복잡한 상호 작용을 만들 수 있습니다.

위 내용은 한 Unity 스크립트에서 다른 Unity 스크립트로 변수 및 함수에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿