Search
Duplicate

LV17 이벤트 시스템, 메모리릭, 카메라 타겟팅

숙제

애니메이션 이벤트를 등록하여 본인 게임 캐릭터의 FSM을 완벽하게 구현하세요.

이벤트 및 AnimationState 콜백

우리 게임 엔진에서는 애니메이션 콜백 기능을 제공합니다. 이를 사용하여 애니메이션 재생의 몇 가지 기본 사항을 처리할 수 있습니다. 이벤트에 등록하면Animation 에 이벤트를 호출 시킬 수 있습니다.
콜백은 특정 일이 발생할 때 호출할 메서드를 제공하여 특정 일이 발생하면 시스템에 "알려주도록" 지시할 수 있음을 의미합니다 . 이벤트는 프로그램 실행에서 콜백과 비슷하지만 특정한 구간에서 작동시키는 걸 이벤트라고 합니다. 이 경우 이벤트 시스템이 호출할 함수, 메서드를 제공하여 자신의 코드를 구독하거나 처리할 수 있는 이벤트입니다.
애니메이션 재생이 시작되면 Start 가 발생합니다.
애니메이션이 트랙에서 제거되면 End 가 발생합니다.
해당 애니메이션이 끝날떄마다 Complete가 발생합니다.
이벤트를 std::functional<void> 객체에 묶어줄때는 다음과 같이 std::bind 함수를 활용한다.
std::bind는 간단히 말하면 Callable한 객체(함수)의 인자로 넘길 값을 고정(바인딩)시키는 것
해당 PlayerScript::AttackEffect함수는 멤버함수이기 떄문에 인자로 객체의 주소(this포인터와 같음) 를 넣어줘야 한다.
std::bind 를 사용하여 객체의 주소를 넘겨주어 사용하면 된다.

메모리 릭 체크

_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); 함수를 통해서 delete가 되지 않은 힙메모리를 확인 할 수 있습니다.
_CrtSetBreakAlloc(251); 함수에 해당 메모리 위치 번호를 넣어주면 해당 메모리가 생성되는 시점에
프로그램을 강제로 멈추게 하여 해제 되지 않은 메모리를 확인 할 수 있습니다.