Sprite Renderer 클릭하는 방법

2024. 11. 13. 20:21카테고리 없음

이미지표현하는 두가지 방법( UI, Sprite )

1. UI

Canvas, EventSystem이 있어야지 Button컴퍼넌트를 사용할 수 있다.

2. Sprite Renderer

Sprite Renderer에서는 스크립트안에서 코드를 사용해서 입력을 받아야한다.

저는 한개의 sprite만을 사용할 거여서 인터페이스를 통해서 해당 함수를 정의했다. 여러개의 경우에는 인터페이스로 상속을 받으면 매번 다시 정의해줘야 하는 번거러움이 있기 때문에 인터페이스를 사용하기 보다는 상속 또는 추상화를 사용해서 코드를 사용하면 더 편하게 코드를 작성할 수 있다.

예시

public interface MousePointEnter
{ 
    void OnPointEnter();
}
public class Revenue : MonoBehaviour, MousePointEnter
{
    public PlayerStateData state;
    public Money moneySO;
    
    public Text revenueText;
    
    private float time;
    public int money;

    private void Start()
    {
        money = moneySO.money;
    }

    private void Update()
    {
        time += Time.deltaTime;
        OnPointEnter();
        AutoRevenue();
        revenueText.text = money.ToString();
    }

    public void OnClickRevenue()
    {
        Debug.Log($"OnClickRevenue 돈총량은 : {money}");
        Debug.Log($"OnClickRevenue 데미지 값은 : {state.damage}");
        money += state.damage;
        time = 0;
    }

    public void AutoRevenue()
    {
        if (time >= 2f)
        {
            OnClickRevenue();
        }
    }

    public void OnPointEnter()
    {
        if (Input.GetMouseButtonDown(0))
        {
            OnClickRevenue();
        }
    }
}

 

인터페이스 하나를 만들어서 맨밑에 해당 함수를 정의 해줬다.

 

다양한 방법이 있으니 밑에 링크를 참고할 것

참고자료 : https://hotsunchip.tistory.com/5