[유니티] 해당 객체 press기능(마우스 눌렸을때) 구현

Programming/Unity|2018. 8. 20. 12:24
반응형

회사나 다른곳에서 주로 c++에 Microsoft에 Visual Studio만 쓰긴 하지만

요즘 모바일 게임을 구현하려면 환경에서는 유니티를 빼놓고는 말할 수 없는거 같아요.

그래서 휴일이나 시간이 될때 틈틈히 유니티를 이것저것 만져보긴하는데 아직 부족한 부분이 많네요~

가끔 제 상태값이 위와 같은 모드이다가도 뭔가 지치거나하면 wait인 상태로 돌아오기도.....

 

여튼 주로 구글링을 통해 유니티를 배우는데 개인프로젝트를 하다가 이번에는 객체를 누른 상태(Press)를 찾아보고 구현했습니다~

유니티에는 많은 기능이 이미 있어서 잘 가져다쓰기만 해도 금방 구현이 되는거 같아요~

 

 

 


1. 먼저 어떤 프리팹(여기서는 A라는 프리팹)을 만들고 스크립트 class A를 추가했다고 합니다.

그렇다면 위 코드에서 MonoBehaviour만 상속을 받게 되는데요~ 



위 코드를 보고 아래와 같이 하면 됩니다.


1_1. 옆에 다중상속으로 IPointerDownHandler, IPointerUpHandler를 추가해줍니다.


1_2. 윗부분에 using UnityEngine.UI; 선언


1_3. 위 코드와 같이 public void OnPointerDown, OnPointerUp함수를 추가해줍니다.




여기서 저 두 개의 함수가 어떤 기능인지 궁금한데요~


OnPointerDown : 마우스 눌렸을 때

OnPointerUp : 마우스 뗏을 때


두 개와 같은 기능을 하는 함수입니다. 다중상속을 받아 쓰는거라 함수명 및 인자값을 정확히 써줘야됩니다.

저는 bool 변수를 멤버변수로 잡아 눌렸을 때는 true, 뗏을 때는 false로 대입해줬습니다.

그럼 쭉 눌린상태일때는 true가 되겠지요?




2. 다른곳에서 A라는 클래스를 선언하고 해당 객체가 쭉 눌렸을 때 이런식으로 조건을 준 다음 처리해주었습니다.


감사합니다~

반응형

댓글()