2017-03-01 12 views
-1

그래서 캐릭터가지도의 일부를 선택하고있는 게임이 있습니다. 그리고 그것은 패널을 열었습니다. 나는 그렇게 만들었지 만 이제는 그것의 다른 부분에 붙어 있습니다. 지도의 특정 영역 만 다루기 힘들어서 플레이어가 준비가되어 있지 않은지도 영역을 선택하지 못하도록 할 수 있습니다. 나는 게임에서 게임 객체를 어떻게 인터랙티브하게 만들지 모른다. Stack overflow, Youtube 및 Unity API를 성공하지 못했습니다. 누군가가 저를 도울 수 있습니까?Making and Object uniteractable

+0

지도는 어떻게 분리되어 있습니까? 현재지도의 클릭 수는 어떻게 감지합니까? 이 정보로 질문을 업데이트하십시오. 씬 뷰의지도 스크린 샷이 도움이 될 것입니다. – Programmer

+0

잠긴 것과 잠긴 것으로 간주 될 때 상호 작용하는 방법과 처리 방법을 설명 할 수 있습니까? 플레이어가 클릭하는 'GameObjects'입니까? 잠겨서 클릭 할 때 뭔가를 표시해야합니까 아니면 완전히 무시해야합니까? – Foggzie

답변

1

상호 작용을 불가능하게 만드는 방법은 상황에 따라 다릅니다. 나는 당신이지도가 일종의 그리드로 분해되었다고 추정 할 것입니다.

기본 설정에는 'CanAccessZone'이라고 불리는 bool이 포함됩니다. 그러면 액세스 정보와 팝업 로직을 저장하기 위해 클래스가 필요합니다. 팝업 로직은 요소를 상호 작용 가능하게 만들거나 팝업을 보여 주며 표시된 팝업은 'CanAccessZone'에 종속됩니다. 이 클래스는 레벨이로드 될 때 Map 클래스에 의해 설정되거나, 팝업 클래스가 Map 클래스에서 필요한 값을 획득하게 할 수 있습니다.

지도의 유니티의 UI 버튼을 사용하는 경우 플레이어가 해당 영역에 액세스 할 때까지 interactable을 false로 설정할 수 있습니다. 플레이어가 영역에 액세스 할 수 없음을 알리는 팝업을 표시하려면 버튼이 상호 작용할 수 있지만 클릭은 팝업 논리 메소드에 위임됩니다.

게임 객체를 버튼으로 사용하는 것은 비슷한 원리입니다. OnMouse 이벤트를 사용하여 클릭 이벤트를 처리 할 수 ​​있습니다. https://docs.unity3d.com/ScriptReference/MonoBehaviour.html

바라건대 이것은 올바른 방향으로 인도합니다.

관련 문제