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 중국어 웹사이트의 기타 관련 기사를 참조하세요!