728x90

분류 전체보기 119

모작일지(7)

ASTAR 구현 완료 -> 실시간 업데이트로 위치를 추적하니 렉이 걸려서 이동하는 순간 (비트가 맞을때)에만 위치추적을 하고 이동 하니 렉이 많이 줄었다. 몬스터는 3마리 까지 돌려봤는데 렉이 거의 없었음 다만 몬스터가 한마리만 지나다닐수 있는 통로에서 한 몬스터 길을 막아버리면 빼앵 둘러서 오는 상황이 있는데 이부분은 고민을 해볼 필요가 있어 보인다.

DirectX 2021.08.15

모작일지(3) 현재 진행상황

발견한 이슈사항 1. 캐릭끼리 겹쳐짐 2. 2층에서 1층에 몬스터 있는 곳으로 뛰어 내려짐 진행 해야 될 것 1. 플레이어 피격상태 만들기 -> 체력 UI 만들기 2. 2층에서 몬스터 겹쳐지는거 고쳐야함 3. 몬스터 만들기 (닭, 박쥐, 보코블린) 만들면서 몬스터 타일이동 손보기 -> 한칸보다 많이 이동하거나 한턴이 새로 들어오면??? -> 보코블린 ASTAR 구현해야됨 4. 몬스터끼리 겹쳐지면 안되고 플레이어랑 몬스터랑 겹쳐지면 안됨 5. 동굴에서 횃불효과 만들기 6. 다른 아이템들 만들기 7. 상점 만들기 8. 얼음타일 만들기 9. 보스 만들기 10. 물타일 만들기 11. 음악 싱크 맞추기

DirectX 2021.08.09

모작일지(2)

아.. 싱크가 안맞는다.. 현재 상황 가운데 파란색 히트박스를 만들고 키를 눌렀을때, ObjMgr의 노트.front() 부분이랑 Intersectrect가 되게 되면 방향대로 움직이거나 공격하게 짜두었는데, 처음에는 잘 되는가 싶더니 플레이 시간이 좀지나면 해당 Rect 안에 있어도 키가 안먹는 현상이 발생한다 ALT1. Rect 판정이 아닌 노트가 생성 될 때 dt값을 누적하고 그 누적값이 0.7초 이상일때 버튼 누르면 true값 반환 ALT2. ObjMgr에 들어있는 노트를 front만 충돌체크 하지 않고 list를 돌려서 모두 충돌체크를 해보기 두가지 대안을 모두 시도 해봤으나, 키가 씹히는 현상은 해결되지 않음 ..ㅠㅠ

DirectX 2021.08.09

모작 일지 (1)

케이던스 오브 하이랄 만든다고 정신이 없다 ㅠㅠ 인벤토릴 구현 해서 아이템과 충돌시 먹고 다시 다른 아이템과 충돌 시 현재 아이템을 플레이어 위치에 버리고 교체하는 방식을 구현해야한다. 충돌로 아이템을 먹기 때문에 제자리에 있을때 아이템을 버리고 줍고 버리고 줍고 반복이 되기 때문에, 이동한후 플레이어를 타일을 고정시키는 과정에서 bool값을 하나 해주고 업데이트 후에 바로 아이템을 획득시키고 바로 false로 변환 시켜 주었다. https://youtu.be/_M-TGeSIVaQ

DirectX 2021.08.05

D3DMATRIX, D3DXMATRIX 및 함수

# D3DMATRIX와 D3DXMATRIX의 차이점은 operator 연산자 오버로딩이 되어 있는지 없는지 차이이다. D3DXMATRIX로 행렬을 만들면 연산자 오버로딩이 가능하다. #ifndef D3DMATRIX_DEFINED typedef struct _D3DMATRIX { union { struct { float _11, _12, _13, _14; float _21, _22, _23, _24; float _31, _32, _33, _34; float _41, _42, _43, _44; }; float m[4][4]; }; } D3DMATRIX; F12를 눌러서 확인해보면 4x4 행렬임을 알 수 있다. D3DXMatrixIdentity -> 단위행렬로 변환해줌 D3DXMatrixScaling -> 크..

DirectX 2021.07.06

몬스터 -> 플레이어 추적 (내적 이용)

#벡터의 내적 벡터의 내적은 두 벡터의 도트곱 이다. 내적을 하면 스칼라(크기)가 나오게 된다. 벡터의 내적은 다음과 같이 구할 수 있다. 이때 내적을 할 때 단위벡터로 내적을 하게 되면 cos(theta) 값을 구할 수 있는데, 그것을 acosf를 이용해서 각도를 구하면 몬스터가 플레이어를 바라보면서 자연스럽게 추적이 가능하다. 이때 내적을 하는 단위벡터가 하나가 필요한데 그 단위 벡터가 cos(theta)를 구하는 기준 축이 된다. 예를들어 D3DXVECTOR3 vA {1.f, 0.f, 0.f}; 와 내적을 하게 된다면 x축으로 부터 cos(theta)가 시작 되는 것이다. D3DXVECTOR3 vA {0.f, 1.f, 0.f}; 로 내적을 하면 y축으로 부터 cos(theta)가 시작되므로 -1 곱..

DirectX 2021.07.06