ItemInfoUI 구현
- 이는 이전에 구현했던 SkulInfoUI와 비슷한 구석이 많은데, 결국 아이템도 UI에 보여질 아이템의 이미지, 이름, 설명을 기재해야 하므로 이런 정보들을 한번에 관리할 수 있도록 ItemInfo라는 구조체를 따로 만들었다.
- 이렇게 구현하고 나니 생기는 장점은, DetailInfo (UI가 선택되었을 때 우측에 뜨는 설명란을 구성하는 구조체)에
SkulInfo와 ItemInfo를 멤버로 두기 때문에 SkulInfo -> DetailInfo에 값을 전달할 필요가 없어져서 코드가 훨씬 간결해진다는 것이다.
- 그리고 SkulInfo에 멤버를 추가하면 DetailInfo에 자동으로 추가되는 이점이 있다.
(다만 이 경우 멤버를 삭제할 때 관리 포인트가 늘어날 수 있는데, 이 경우 삭제된 부분에서 컴파일러가 캐치해서 에러를 발생시키기 때문에 문제되지 않을 것이다.)
- 이를 통해 ItemInfo를 파라미터 단위로 DetailInfo로 넘겨받아 그 값들(텍스쳐나 스트링)을 화면에 적절히 뿌려주는 작업을 진행
마검 아이템 구현 및 장착 시 이펙트 구현
- 마검 아이템의 경우 공격 시, 대쉬 시 특정 이벤트를 발생시킨다
- 처음에 생각한 것은 "마검 아이템의 Update에서 현재 플레이어의 State를 체크하고 AttackState라면 특정 액션을 취한다" 였으나, 공격이 적용되는 프레임에 정확히 마검의 Update에서 캐치해서 ~~한다 라는게 쉽지 않았다.
- 그래서 생각을 바꿔서 "AttackState의 공격하는 시점에 플레이어가 가진 Item들의 가상함수를 돌려서 구현된 가상함수를 실행시키는 방법으로 액션을 취한다" 로 생각을 바꿨고, 공격이 나갈 때 마검의 검기가 나가도록 구현하였다.
- 이를 응용해서 '대쉬 시 특정 이벤트 발생'도 무난히 처리했는데, 플레이어가 대쉬할 때 DashState의 할당된 시간 1/4마다 잔상을 남기는데, 이 시점을 이용해서 마검의 대쉬 이벤트를 처리했고 생각했던 것보다 성공적이었다.
내일 할 일
- 정수 구현 (라이위즐)
- 상점 초기 세팅
'게임 개발 > [D2D_Portfolio] DirectX2D 포트폴리오 작업일지' 카테고리의 다른 글
40. 던전 씬 구조 변경 & 배경 오브젝트를 추가하는 툴 제작 (0) | 2023.05.03 |
---|---|
39. Camera 원근 투영 활용 (0) | 2023.05.02 |
37. SkulItemUI 구현 완료 & Item 기초 작업 (0) | 2023.04.29 |
36. Font Engine 추가 & Inventory 내 Skul 선택 시 Detail창 구현 중 (0) | 2023.04.28 |
35. Inventory 기초 작업 & 각각의 역할을 하는 Child UI 구현 (0) | 2023.04.27 |
댓글