Unity에서 싱글톤을 구현하는 방법에는 여러 가지가 있으며, 이 튜토리얼의 구현 중 일부는 약간 복잡하지만 게임 개발에서 매우 중요한 역할을 합니다. 복잡한 게임에서는 많은 Singleton이 필요할 수 있으므로 코드 중복을 줄이기 위해 Singleton의 일반적인 구현을 하는 것이 좋습니다. 네 번째 솔루션은 대부분의 문제를 다룹니다. 따라서이 클래스에서는 코드를 복제하지 않고 모든 클래스 싱글 톤을 만들 수 있습니다. 그냥 일반싱글톤클래스에서 클래스를 상속하고 갈 준비가되어 있습니다. 대중의 의견으로는, 이 방법은 특히 유니티가 싱글톤에서 언급한 Initialize 방법을 사용하기 위해 많은 개체의 계층 구조를 반복해야 하기 때문에 모바일에서 CPU를 소비합니다. Unity의 단일 패턴에 대한 훌륭한 대안 중 하나는 ScriptableObjects를 전역 변수의 유형으로 사용하는 것입니다. Schell Games의 라이언 히플(Ryan Hipple)은 Unite Austin 2017에서 게임 아키텍처라는 제목의 프레젠테이션을 통해 이를 구현하는 방법과 싱글톤에 비해 많은 장점을 설명하는 스크립팅 가능한 객체를 사용했습니다. 따라서 싱글톤 코드를 작성할 필요가 없습니다.

이 Singleton.cs 베이스 클래스를 다운로드하고 프로젝트에 추가하고 싱글 톤을 확장하십시오: Unity의 싱글톤 패턴의 일부 구현은 다음과 같습니다: 이 문제의 경우 필요한 시점에 싱글톤을 만들어야 합니다. 유니티 위 코드의 SingletonController를 인스턴스화하는 것은 Singleton의 가장 간단한 구현이지만 실제로 Unity에서 싱글톤을 사용하는 의사 공식 방법이 있습니다. 다음은 기본적으로 Singleton 클래스를 만들고 스크립트가 해당 클래스에서 상속되도록 하는 설명입니다. 유니티커뮤니티/유니티싱글톤의 신작 에 대한 알림을 원하십니까? 또 다른 옵션은 클래스를 Singleton 구성 요소에 대한 일반 정적 클래스와 싱글톤 인스턴스의 컨트롤러 역할을 하는 MonoBehaviour의 두 부분으로 분할하는 것입니다. 이렇게 하면 싱글톤의 구성을 완전히 제어할 수 있으며 장면 전체에 걸쳐 유지됩니다. 또한 특정 구성 요소를 찾기 위해 장면을 파고들 필요 없이 단일 톤의 데이터가 필요할 수 있는 오브젝트에 컨트롤러를 추가할 수 있습니다. 내가 아는 Unity에 대한 일반적인 싱글톤 패턴을 가장 잘 구현하는 것은 (물론) 내 것입니다. 우리는 종종 게임 관리자와 같은 Singleton 개체를 사용하므로 두 가지 방법이 있습니다. 네 번째 문제는 상용구 코드, 그래서 우리는이 문제를 해결하기 위해 Singleton의 일반적인 구현이 필요하지만 당신은 게임 프로그래밍 패턴에서 기본 과 기초를 배울 수 있습니다 – 싱글 톤과 위키 백과 – 싱글 톤 패턴 나는 간단한 싱글 톤을 만들기 위해 노력하고 있어요 객체는 기본적으로 존재하고 존재하는 콘솔을 스팸하므로 장면을 전환 할 때 작동하는지 확인할 수 있습니다 (Application.LoadLevel (장면)을 사용하십시오). 이것은 아직 작동하지 않습니다, Debug.Log는 새 장면을로드 할 때 계속실패하고 난 좀 붙어 있어요.

싱글톤에 대해 본 모든 예는 이와 비슷하게 보이며, 머리를 벽에 부딪히는 것만으로도 비슷합니다. 어떤 아이디어? 위의 코드는 두 가지 다른 문제를 해결, 그것은 먼저 장면에서 SingletonController의 예를 검색, 그것은 SingletonController 구성 요소를 찾을 수 없는 경우, GameObject 생성 하 고 SingletonController 구성 요소가 그것에 연결 되어, 그래서이 SingletonController가 직접 전에 장면에 존재해야 하며, 이 코드는 찾은 추가 복사본도 파기합니다. 예를 들어, 처음부터 캐릭터 컨트롤러를 완전히 만들었을 때 컨트롤러 스크립트 자체 내부에 HP 및 체력 변수를 만들었습니다.

Categories: Sin categoría