1. OnHover(bool state)
- 터치가 되면 계속적으로 이벤트가 발생되는 함수입니다
state로 내가 터치중인지 아닌지가 되고 터치를 오브젝트에서 때거나 범위를 벗어났을 경우 false가 됩니다.
제가 사용했던 적은 리듬게임에서 롱노트를 처리할 때 사용했습니다.
2. OnPress(bool state)
- 터치를 시작할 때 한번만 발생되는 함수입니다.
마찬가지로 state로 터치를 했는지를 알수 있구요. 어짜피 터치 시작시 함수가 호출되므로 state의 큰 의미는 없다고는 생각되지만
이용되야 하는 상황도 있겠죠
(아 옛날 소스 보다 수정합니다. OnPress로 롱노트 처리를 하였고 터치시작시 true. 땔시 false가 호출됩니다)
주로 버튼 이벤트에 쓰이는데 보통 버튼이라면 OnClick을 사용하겠죠.
하지만 리듬게임에서 바로바로 이벤트를 호출시켜야 할 경우 사용하시면 됩니다.
3. OnClick()
- 터치가 오브젝트에서 시작되고 터치를 오브젝트에서 땟을 때 발생되는 함수입니다.
버튼의 90%가 이 이벤트 함수로 처리하는게 맞다고 생각합니다. 특히 모바일에서는 말이죠
왜냐하면 일단 모바일에서 터치를 하고 취소할 수 있는 방안이 몇개 없습니다. 그러다 보니 보통은 버튼을 누르고 취소를 하고 싶으면
버튼 영역밖으로 손가락을 이동시킨 뒤 손을 띄우게 되는데 이 경우 OnClick이 발생되지는 않게 되죠
그런데 포코팡이라는 게임을 보면 버튼영역 밖에서 손가락을 띄우는데도 버튼 이벤트가 발생되더군요. 아무리 해도 행동을 취소할 수 없었습니다.
4. OnDrag(Vector2 delta)
- 이것은 오브젝트를 터치하고 손가락을 움직일 경우 발생하는 함수입니다.
처음 OnPress가 발생되는 위치를 중심으로 손가락을 이동시키면 차이값이 2D벡터값인 delta로 들어옵니다.
스크롤되는 오브젝트를 만들때나 모바일용 조이스틱을 만들때 사용했던 경험이 있네요.
5. OnDrop(GameObject droppedObj)
- 이 함수는 어떤 오브젝트가 드롭되었을때 발생되는 함수입니다.
저도 잘 사용하지는 않지만 이번 프로젝트 진행하면서 인벤토리를 만들 때 사용해볼려고 합니다.
한번도 사용해보지 않아서 저도 익숙하지 않는 함수네요
6. OnSelect()
- 이 함수는 오브젝트를 선택했을 때 호출되는 함수입니다
OnPress OnClick과 비슷하다고 생각하시겠지만, OnSelect는 오브젝트를 터치하거나 다른 빈곳을 터치하기 전까지는
호출되지 않는 함수입니다.
어디에 쓰일지는 잘 모르겠네요
7. OnInput(string text)
- 이 함수는 오브젝트가 선택된 상태에서 텍스트를 입력하면 호출되는 함수입니다
text에는 자신이 누름 문자열이 전달되는데 NGUI에서 제공되는 Input이라고 생각하시면 쉬우실 거 같습니다.
8. OnTooltip(bool state)
- 일정시간 이상 터치가 이루어지면 호출되는 함수입니다.
이 함수는 호출 조건이 설정가능합니다
첫 번째로 UICamera로 가신 뒤 Sricky Tooltip을 활성화 하시면 터치를 움직일시 범위만 벗어나지 않으면 툴팁이 발생되고
활설화 시키지 않으면 조금만 움직여도 사라집니다
두번 쨰로 툴팁 조건시간이 있는데 이걸 입력해주시면 됩니다.
9. OnScroll(float delta)
- 호버 상태에서 마우스의 휠이 움직이면 호출되는 함수입니다.
모바일에서는 쓰일 일이 얼마 없다고 생각합니다.
10. OnKey(KeyCode key)
- 오브젝트가 선택된 상태에서 키보드 및 컨트롤러를 입력하면 호출됩니다.
모바일이지만 컨트롤러로 게임을 진행시키는 인터페이스를 구축하기 위해서 쓰시면 될거 같습니다.
'클라이언트 프로그래머의 일기 > 신입 클라이언트 프로그래머의 일기' 카테고리의 다른 글
C# System.Collections.Generic의 List와 SortedSet에 대하여. (0) | 2020.11.03 |
---|---|
AndroidX Migration이란? (0) | 2020.10.26 |
모바일 게임 Wifi 기능 연동 시 사용 할 함수들. (0) | 2020.10.26 |
모바일 게임에 보이는 Wifi 아이콘 어떻게 구현하는걸까? (0) | 2020.10.21 |
미니게임이 DB에 어떻게 보내지고 받는지 분석 (0) | 2020.10.16 |