Button 을 클릭했을 때 내가 짠 스크립트 함수를 호출하여 어떤 기능을 실행하고 싶을 때, 별도의 coding 없이 가장 손쉽게 해결할 수 있는 방법을 소개하겠습니다.
글 후반에는 이 방법의 한계점에 대해 말씀드리고, 다음 편에서 해결방법을 제시하도록 하겠습니다.
OnClick 이벤트 연결하는 방법
(1) Button 오브젝트 선택
(2) Inspector 창 하단의 OnClick() 항목 확인
(3) + 버튼 클릭하여 이벤트 슬롯 추가
(4) 함수가 포함된 오브젝트를 Hierarchy에서 드래그해서 넣기
(5) 오른쪽 드롭다운을 눌러, 원하는 스크립트에서 함수 선택
이 때, 함수는 public void 형식이어야 하며, 파라미터가 없어야 Inspector 에서 보입니다.
예시 코드 :
public class MyUIHandler : MonoBehaviour
{
public void OnButtonClick()
{
Debug.Log("버튼이 눌렸습니다!");
}
}
제약 사항
Unity 의 프리팹(Prefab) 편집 모드에서는 외부 오브젝트를 OnClick() 에 연결할 수 없습니다.
이는 프리팹이 독립적인 상태이기 때문에 Hierarchy 밖의 객체를 참조할 수 없기 때문입니다.
AddListener() 로 연결하기
만약, 이러한 상황이 불편함을 초래한다면, 스크립트 상에서 code 로 직접 연결하는 방법을 사용하면 됩니다.
다음에는 AddListener() 함수를 이용하는 방법에 대해 알아보겠습니다.
'Unity' 카테고리의 다른 글
PlayerPrefs - 데이터를 간단하게 저장하는 방법 (0) | 2025.03.25 |
---|---|
Button 클릭시, AddListener() 함수로 연결하는 방법 (0) | 2025.03.25 |
Destroy()의 동작 방식 (0) | 2025.03.16 |
유니티 Coroutin 에서 continue 를 쓸 때 주의할 점 (0) | 2025.03.12 |
UIManager를 활용한 효율적인 UI 업데이트 구조 (0) | 2025.03.11 |