내일배움캠프 21일차 TIL, 유니티 기초5

황오영·2024년 5월 14일
0

TIL

목록 보기
21/56
post-thumbnail

챌린지 개인과제

  • 오늘은 챌린지 개인과제 중 업적시스템 요구사항에 이벤트 중심의 액션을 만들라는 내용이 있어 개념이 어려웠던 이벤트 액션을 정리하고 목요일 부터 과제를 진행해 보고자 한다.

이벤트 주도적 프로그래밍

  • 이벤트 주도적 프로그래밍이란 게임속 대부분의 사건들은 이벤트다 라는 개념에서 시작하는 것이다. 이벤트의 발생에 의해 프로그래밍의 흐름을 결정해 주는 프로그래밍이다.
  • 대부분의 OnMouseDown류의 ui 인터페이스들이 여기에 해당하는데 어떠한 상황에서 해당 로직이 실행되는 방식을 의미한다.
  • 이벤트가 발생했을 때의 로직은 개인이 처리하고, 이벤트는 등록된 리스너들에게 이벤트 발생을 알려주는 디자인 패턴, 느슨한 결합을 위한 방식이라고 보면 좋을것 같다.

Update문은 많이쓰면 좋지않다.

  • 지난 프로젝트때 들었던 이야기인데 update의 경우 너무많이 호출되게 되면 게임의 최적화에서 문제가 간다고 한다. 가령 플레이어의 체력변화를 업데이트문에서 실시간으로 받는다 할때 오브젝트가 몇천개씩 되게 된다면 매우 불필요한 과정이 될 것이다. 이런 과정을 줄이기위해 이벤트 처리과정이 필요하게 된 것이다.

디자인 패턴

  • 발생, 관리, 실행 세가지가 이벤트 주도적 프로그래밍에 필요한데 이를위해 리스너, 매니저, 포스터 총 가지의 스크립트가 필요하다.
  • 리스너 : 이벤트를 들어주는 사람즉 이벤트를 원하는 사람
  • 매니저 : 리스너와 포스터를 이어주는 매개체(중간 관리자)
  • 포스터 : 다른 리스너들이 알 수 있게 이벤트를 전체로 알려주는 사람

구현방식?

  • 인퍼테이스를 이용하여 이벤트를 받을 객체들이 이벤트 함수를 제작하는 방식으로 하면 된다! 인터페이스의 경우 개개인이 반드시 필수로 구현을 해야되기 때문
  • 좀더 구현방식에 대해선 목요일에 한번더 정리해봐야겠다. (모듈식으로 일단 만들어놓은 유니티 코드가 있기 때문에 다시 분석하면서 진행할 예정)

오늘의 회고

  • 개인프로젝트를 마무리했다. 그냥저냥 잘 마무리한듯하다. 조금 귀찮아서 하드코딩이 된 부분이 있어 과제 해설영상과 함께 코드 정리를 해서 목요일 팀 프로젝트를 준비해야겠다.
  • 내일은 연휴인만큼 못했던 공부를 추가적으로 진행을 해야겠다.
  • 벌써 5월도 절반 지났다 나름 보람있는 1주일을 보내고 있는것같아서 뿌듯하다 더 열심히 살아야지
  • 팀원분들 이것저것 가르쳐주는 항상 가르치는건 어렵다. 나도 막 원래 잘하던 수학처럼 전문적이지 않아서 그런거일수도있는것 같다. 더 열심히 공부해야지
profile
게임개발을 꿈꾸는 개발자

0개의 댓글