[Unity] Button Event

Yerin·2023년 7월 20일
0
post-thumbnail

Canvas(UI_Button) 아래에 Button과 Text 오브젝트를 생성한다.

UI_Button 스크립트를 만들고 아래와 같이 코드를 작성해준다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class UI_Button : MonoBehaviour
{
    public void OnButtonClicked() {
        Debug.Log("버튼 클릭");
    }
}

이제 버튼 속성에서 코드와 버튼을 연결해준다.

❗ 하지만 프로젝트가 커질 경우 이렇게 연결하는 것보다 코드를 이용하는 것이 좋다❗

이제 실행하여 버튼을 누르면

제대로 연결된 것을 확인할 수 있다.

❗ 하지만 버튼을 눌렀을 때 이전에 마우스로 캐릭터를 이동하도록 만든 코드 때문에
캐릭터까지 같이 움직이는 상황이 발생했다. ❗

InputManager.cs 파일 OnUpdate()에 아래 코드를 추가해준다.


using UnityEngine.EventSystems;

public class InputManager 
{
   
    public void OnUpdate()
    {
        if (EventSystem.current.IsPointerOverGameObject())
            return;
    }

이제 버튼을 누를 때마다 점수가 +1 되는 코드를 작성해보자.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class UI_Button : MonoBehaviour
{
    [SerializeField]
    Text _text;

    int _score = 0;
    public void OnButtonClicked() {
        _score++;
        _text.text = $"점수 : {_score}";
    }
}

profile
재밌는 코딩 공부

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

글 잘 봤습니다, 감사합니다.

답글 달기