3. 판넬이 없는 상태에서 -> 스페이스바 눌러서 스캔하면 -> talkPanel 뜨고 -> 방향키 다 먹통 -> 다시 스페이스바 눌르면 talkPanel 사라짐 구현
3-1 : 방법(1)
PlayerMove에 bool값 stopAction 선언 및 stopAction이 true면 플레이어 이동이 먹통이 되도록 삼항 연산자 이용
스캔할 물체 앞에서 스페이스 바를 눌렀을때 GameManigerScript로 전해지는 매개변수로 stopAction 추가
GameManiger 오브젝트의 Public PlayerMove에 Player 오브젝트 드래그앤 드랍
3-2 : 방법(2)
최초 계층구조에서 Image를 비활성화 하고 시작
리펙토링
*결론적으로 단순히 키를 눌렀을때와 같이 어떠한 부가적인 조건이 없는 상태에서 같은 행위를 한번 더 함에 따라 작동하거나 작동하지 않거나 하는 로직을 구현할때
예를들어 스페이스를 눌렀을때 무엇인가 작동하게되고 또 다시 눌렀을때 작동하지 않게 하려면
isAction과같은 bool값을 선언(기본값 false)하고 SetActive(isAction)등을 통하여 아래와 같이 isAction 자기 자신의
상태만을 이용하여 구현 할 수 있다
다만 어떠한 부가적인 조건이 있는 상태(예를 들어 스페이스바를 눌르면 i의 값이 1씩 증가하는데 i값이 5가 되면 그때서야 isACtion이 false가 된다 와 같은 상황)에서는 그 조건에 따라 isAction이 true or false가 되도록 하는 것이 좋다
'Unity > Unity2D_TopDown' 카테고리의 다른 글
Unity2D_TopDown - 대화시스템구현 (0) | 2020.12.16 |
---|---|
Unity2D_TopDown -UI (3) Ui 커서 애니메이션 (0) | 2020.12.15 |
Unity2D_TopDown - UI(1) 기본셋팅 (0) | 2020.12.10 |
Unity2D_TopDown 십자이동 , 레이케스트(RayCast) (0) | 2020.12.08 |
Unity2D_TopDown - 타일애니매이션 및 콜라이더, 플레이어 기본설정 (0) | 2020.12.03 |