유니티 인터페이스 예제

C# 인터페이스에 대한 Microsoft 설명서도DotNetPerls에는 실용적인 설명이 있습니다. C#에서 개발하는 경우 인터페이스와 추상 클래스에 대해 배우면 스크립트가 더 일반적일 수도 있습니다. 나는 인터페이스로, 당신은 하나의 게임의 관심사 또는 책임의 가장 일반적인 디자인을 달성 할 수 있다고 말까지 갈 것입니다. 인터페이스에는 클래스 또는 구조체가 구현할 수 있는 관련 기능 그룹에 대한 정의가 포함되어 있습니다. 이것은 내가 그것을 할 것입니다 정확히 방법이 아니다, 하지만 내가 읽은 내용에 따라, 나는 거기에 인터페이스를 유지하려고. 인터페이스를 사용하면 성능이 중요한 경우 인터페이스가 가능한 한 자주 가리키는 실제 형식의 boxing 및 언박싱을 방지할 수 있습니다. 일단 통과 하 고 변수로 설정 되 면, 그것은 잘 해야 합니다., 하지만 일정 한 마샬링은 패턴을 많이 사용 하는 경우 전체 시스템에 걸쳐 성능 히트의 일정 수준에 해당 합니다. 예를 들어, 깨지기 쉬운 것들을 많이 추적합니다. SHUMP에서 가장 많이 사용되는 논리 유형을 분류하려고하면 “이동 패턴”을 가리키면 나와 동의 할 수 있습니다. 모든 유형의 투사체, 적, 파워 업은 항상 선형 방식으로 움직이지 않습니다. 대각선, 노인 성 또는 톱니 이동 패턴이 있을 수 있으며 이를 결합하여 보스와의 만남에 맞을 수 있는 복잡한 시퀀스를 만들 수 있습니다.

게임에서는 일부 기본 기능을 공유하는 여러 항목이 있지만 기본 기능이 개체 자체로는 충분하지 않은 경우 추상 클래스를 사용합니다. 예를 들어 무기 클래스에는 석궁과 산탄총에 공통적인 기능이 포함될 수 있지만 무기 클래스의 인스턴스는 그 자체로는 쓸모가 없으므로 추상화하는 것이 좋습니다. 인터페이스란 무엇입니까? 내가 설명하는 방법은 인터페이스가 클래스 또는 구조체 내의 기능에 추가된다는 것입니다. 추가할 때 인터페이스에 포함된 메서드를 추가해야 합니다. 이 것의 장점은 여러 클래스가 동일한 인터페이스를 사용할 수 있다는 것입니다. 실제로 GetComponent은 수퍼 클래스 또는 인터페이스 구현을 통해 스크립트 구성 요소를 가져올 수 있습니다. 이 것을 사용할 수있는 시나리오의 예를 보여 드리지만 먼저 유용한 확장 방법이 있습니다. 그 중 하나는 Unity3D 위키에서 볼 수 있는 것과 같은 관찰자 패턴 기반 시스템을 사용하는 것이며, 이는 Unity의 SendMessage에 대한 가장 빠르고 깨끗한 대안입니다. 이 솔루션은 각 게임에 대한 구체적인 참조를 관리할 필요 없이 여러 게임 오브젝트와 통신하려는 경우에 적합합니다.

Unity를 사용하여 개발할 때 이러한 팁을 적용하면 시간과 불만을 줄일 수 있습니다. Unity 워크플로를 더 쉽게 만드는 방법이 있습니까? 유니티의 팁과 요령은 무엇인가요? 이것은 상속과는 매우 다르지만 많은 경우에 매우 유용하지만 인터페이스를 사용하는 것이 좋습니다.