대부분 개발자들이 2.x 대의 방법으로 쓰고 있어서 정리해봅니다.
기존 방법인 UIButtonMessage 를 Component 에 추가해서 쓰게되면
This is a legacy component. Consider using the Event Trigger instead.
"예전 컴퍼넌트니.. EventTrigger 를 써라." 라는 경고..
대부분 잘 돌아가니 대충 이걸 쓰는데요.
나중을 위해서라도 최신 방법을 쓰는게 좋겠지요.
//-----------------------------------------------------------------
UIEventTrigger 를 쓰기전에
3.X 부터 제공되고 있는 간단한 버튼메세지 추가방법을 보면
OnClick 이라는 것이 추가되었습니다.
그림과같이
Notify -- 메세지가 전달될 GameObject
Method -- GameObject에 추가한 컴퍼넌트 의 함수 선택
Arg 0 -- 버튼자신의 게임오브젝트 (Arg 0 아래<GameObject>는 전달될 객체)
가 되겠습니다.
전반적구조
ButtonComponet.cs 내용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
using UnityEngine;
using System.Collections;
public class ButtonComponent : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void ButtonMessage(GameObject _g)
{
Debug.Log(_g.name);
switch (_g.name)
{
case "StartButton":
Debug.Log("Start!!");
break;
}
}
}
|
//---------------------------------------------------------------------
이걸 응용하여 이번에 추가된 UIEventTrigger 를 써보면
StartButton 게임 오브젝트에 Event Trigger 컴퍼넌트 추가
추가해보면 방금해본 OnClick 과 다를게 없습니다.
똑같이 게임오브젝트와 함수를 연결해주면 됩니다.
이를 이용해 오버, 아웃, 누르고있기, 떼기, 드래그 등등을 구현할 수 있습니다.
클릭 기능만 필요하다면 굳이 UIEventTrigger 를 추가해서 사용말고
UIButton - On Click 에 간단히 추가해서 사용하면 되겠지요.
댓글 없음 :
댓글 쓰기