반응형
유니티에서 버튼에 함수를 연결할 때 아래와 같이 인스펙터 창에서 On Click () 창에 스크립트를 직접 연결하는 방법을 주로 사용하는데요, 이 방법은 함수 이름이 바뀌거나 하면 연결이 풀려 계속 다시 연결해줘야 하는 단점이 있습니다.
오늘은 직접 드래그 앤 드랍으로 연결하는 방식 말고, 연결이 끊어질 걱정없게 스크립트 내에서 함수를 연결해주는 방법을 알아보도록 합시다.
제 쿠키런 오븐브레이크 모작 포트폴리오에서 이를 활용해줄겁니다.
사용 방법은 간단합니다.
Button jumpButton;
void Start()
{
//버튼 찾아서 연결해주기
jumpButton = transform.GetChild(0).GetComponent<Button>();
//AddListener로 jump 함수 연결
jumpButton.onClick.AddListener(jump);
//연결을 끊어내고 싶을 경우
jumpButton.onClick.RemoveListener(jump);
}
void jump()
{
}
인자가 있는 메서드를 연결하고 싶을 경우, 람다식을 이용해줍니다.
Button jumpButton;
void Start()
{
//버튼 찾아서 연결해주기
jumpButton = transform.GetChild(0).GetComponent<Button>();
//AddListener로 jump 함수 연결
jumpButton.onClick.AddListener(() => jump(10));
//연결을 끊어내고 싶을 경우
jumpButton.onClick.RemoveListener(() => jump(0));
}
void jump(int h)
{
}
반응형
'[Unity] > [Unity]' 카테고리의 다른 글
[Unity] Error Unity AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.Games (1) | 2022.04.04 |
---|---|
[Unity] UI터치와 게임 화면 터치 분리해주는 방법 (0) | 2022.03.19 |
[Unity] IComparer, IComparable 인터페이스 (0) | 2022.02.10 |
[Unity] 유니티 빌드 버전 관리하는 법 (0) | 2021.12.19 |
[Unity] Shader(셰이더)와 Rendering Pipeline(렌더링 파이프라인) (0) | 2021.12.16 |