본문 바로가기

게임 개발11

팀파이트 매니저 - 유닛공격 타겟팅으로 들어가기. 근거리 유닛이 공격을 휘두르면 주변에있는 모든 유닛이 아닌 단 1기의 유닛에게만 대미지를 주고싶어서 공격을 휘두르면 대상의 HP에 직접 피해를 주고 끝나는것으로 단일 타겟팅 해결. Swordman, Knight의 단일타겟 공격과 Skill애니메이션 이펙트 만들었다. 유닛이 피해를 받아서 체력이 0 이하로 내려가면 Die로 넘어가서 Die애니메이션 나오도록 했다. 추가 해결사항 공격 시전동작과 실제 대미지 들어가는 동작 세부화 하기. 공격 하고 죽고나서 리스폰시키는 방법 생각하기. 1. 그냥 Death를 시킨다면. 리스폰할때 다시 Create해야하는데. 그렇게 되면 궁극기 쿨타임이 다시 0부터 시작이다. 2. Off를 시킨다면. 외부에서 유닛을 On시켜줘야함. 게임 외부에서 시간관리나 리스폰 관리해줄 매니.. 2023. 9. 18.
TeamFight Manager 4일. 이게임은 같은 유닛이여도 팀별로 충돌을 하거나 안하거나 달라지기 때문에 팀이 정해지고 충돌체가 생성되어야 콜리젼 오더를 정할수가 있다. 때문에 Team을 셋팅하는 함수를 만들어서 Blue팀이면 블루팀 관련 정보를 넣어주게 되고 Red면 Red관련 정보를 넣어주게 된다. 팀에 관련된 정보는 1. 리스폰 위치. 2. 바라보는 방향. 3. 충돌체 종류. 적의 위치에 따라 바라보는 방향을 바꾸도록 하는 함수 추가 2023. 9. 7.
TeamFight Manager 개발 3일차. 파일로드 할때 윈도우 특성에 따라 파일명을 바꿔주었다. 애니메이션 정상적으로 순서대로 나오는것을 확인함. 현재 shared_ptr을 사용하여 Actor를 만들고 전반적인 것들을 하고있는데 게임 특성상 적군이 서로를 알고있게되는데 이게 shared_ptr로 서로가 서로를 알게되면 동적할당한 메모리가 지워지지 않게되어 릭이 남게된다. 해당 현상을 해결하려면 서로가 서로를 알아야 할때는 일반 포인터를 사용해 주어야한다. 그래서 자신의 포인터를 리턴하는 함수를 만들고. shared_ptr을 리턴하게되는 CreateActor에 GetPointer를 사용해서 일반 포인터를 담아서 해결. 내일은 이제 이 유닛의 전반적인 움직임을 세세하게 나눠서 생각해보는 것 부터 시작해보자. 2023. 9. 6.
애니메이션이 순서대로 나오지 않은 이유. 이유는 윈도우의 숫자 정렬 방식 규칙때문이다. 간단하게 스크린샷으로 설명하자면 위와같이 윈도우는 정렬순서가 맨앞에 오는숫자에따라 정렬된다. 따라서 내가 애니메이션으로 쓸 이미지 리소스들을 1, 2, 3, 4, ...., 10, 11, 12 이런식으로 저장해 둔다면 1, 10, 11, 12 2, 3, ... 이런식으로 읽어들이게 된다. 이것은 윈도우의 규칙이기때문에 내가 파일명을 00, 01, 02 이런식으로 맞춰주는것으로 해결해야 할것같다. 2023. 9. 6.