많은 버튼을 이용하는 경우 직접 인스펙터 창에서 이벤트를 고정시켜주지 않고 스크립트를 통하여 이벤트 시스템을 작성하는 방법이 있다. 바로 onClick.AddListener 를 사용 하는 것이다.
가장 먼저 스크립트를 작성 후 모든 버튼에 스크립트를 컴포넌트 하여준다.
public string AtomStr;
Button btn;
// Start is called before the first frame update
void Start()
{
btn = this.transform.GetComponent<Button>();
if (btn != null)
{
btn.onClick.AddListener(AtomClick); //스크립트로 버튼 이벤트 수행
}
}
void AtomClick()
{
AtomStr = this.gameObject.name;
Debug.Log("클릭 원소 :: " + AtomStr);
}
위 내용은 버튼을 클릭할 시 클릭한 버튼의 이름을 가져오는 스크립트를 작성해 보았다.
처음 버튼 선언하여 주고 이벤트 시스템을 작성하기 위하여, 선언한 버튼 뒤에 .onClick.AddListener(); 를 작성한다. 이때 () 괄호 안에 들어가는 문자열은 아래 void 함수 명과 같게 하여 클릭 리스너와 같은 함수 명이 가진 함수가 진행되게 하는 것 이다.
이후 프로젝트를 실행 한다면 문제 없이 실행 되는 것을 확인 할 수 있을 것이다.
유니티 비주얼 스튜디오 연동 Connect visual studio to unity (0) | 2020.10.14 |
---|---|
유니티 ARcore 설치 에러 Error when install ARcore (0) | 2020.10.10 |
유니티 NullReferenceException: Object reference not set to an instance of an object (3) | 2020.09.30 |
유니티 observed package id 'tools' in inconsistent location (0) | 2020.09.29 |
유니티 뷰포리아를 이용한 증강현실 나타내기 How to connect Vuforia (1) | 2020.09.28 |
댓글 영역