개발

[키우기 게임 1일차] 키우기 게임 만들기 시작

백인성(GGM) 2024. 10. 11. 15:25

현제 18세 인 필자는 학교에서 남는 시간들을 이용해 키우기 게임을 만들고자 한다.

만드는 이유는 간단하다 한 번쯤 만들어 보고 싶었기 때문이다.

 

게임의 UI의 레이아웃은 [캣 히어로]라는 게임을 참고하였다.

[캣 히어로]
필자가 오늘 한 일

 

 

 사용한 UI는 아래의 UI이다.

현재 19.99달러이지만 번들로 구매하여 싸게 구할 수 있었다.

1일 차에는 UI와 플레이어가 움직이는 것을 구현하였다.

일단 리소스 관리는 Addressables로 관리를 하였고

UI_BaseUI_EventHandler 를 제작하였다. 아래는 UI_EventHandler 코드이다. 

using System;
using UnityEngine;
using UnityEngine.EventSystems;

public class UI_EventHandler :
    MonoBehaviour,
    IPointerDownHandler,
    IPointerClickHandler,
    IPointerEnterHandler,
    IPointerUpHandler,
    IPointerMoveHandler,
    IPointerExitHandler
{
    public event Action<PointerEventData> OnClickHandler = null;
    public event Action<PointerEventData> OnDownHandler = null;
    public event Action<PointerEventData> OnUpHandler = null;
    public event Action<PointerEventData> OnEnterHandler = null;
    public event Action<PointerEventData> OnDragHandler = null;
    public event Action<PointerEventData> OnExitHandler = null;
    public void OnPointerClick(PointerEventData eventData)=>
        OnClickHandler.Invoke(eventData);
    public void OnPointerDown(PointerEventData eventData)=>
        OnDownHandler.Invoke(eventData);
    public void OnPointerEnter(PointerEventData eventData)=>
        OnEnterHandler.Invoke(eventData);
    public void OnPointerExit(PointerEventData eventData) =>
        OnExitHandler.Invoke(eventData);
    public void OnPointerMove(PointerEventData eventData) =>
        OnDragHandler.Invoke(eventData);
    public void OnPointerUp(PointerEventData eventData) =>
        OnUpHandler.Invoke(eventData);
}

UI에서 자주 사용하는 이벤트 등을 코드에 한번에 넣어 놓았고 UI_Base에서 가져와서 사용 할 수 있게 만들어 놓았다.

 

자주하는 프로젝트가 아니기에 자주 올리지는 못 할 것 같다.

'개발' 카테고리의 다른 글

[Unity] NullCheck의 익힘 정도를 굉장히 중요시 여기기에...  (1) 2024.10.20
[Unity] 스마트한 GetCompoenet 만들기  (0) 2024.10.04
[Unity] 객체 초기화 상태 관리  (5) 2024.10.01
C++ 큐  (0) 2024.04.23
C++ 템플릿  (0) 2024.04.19