생성자
새로 만든 TrigerrComponent cpp 파일에는 첫 플레이시 log 메시지를 추가하는 내용밖에 없다.
우리는 플레이 중 오버랩이 이루어지는 지 체크가 필요하므로 Tick 함수도 구현을 해주어야 한다.
여기서 Super를 작성한 부분도 빼먹으면 안된다.
이는 상위 클래스 기능을 호출해주는 것이며, 여기서는 박스 컴포넌트를 뜻 한다.
구현 기능을 위해 상위 클래스의 기능이 필요한 경우도 있기에 써주는 것이 필요하다.
Tick에는 테스트로 간단한 로그 메시지를 써놓고 플레이 해보자.
하지만 현 상태로 Tick에 대한 메시지가 나오지 않는다.
이는 최적화의 측면에서 보통 Tick이 컴포넌트에서는 비활성화되어있기 때문이다. (액터 디폴트는 활성)
여기서 사용할 수 있는 것이 생성자이다.
UMover의 생성자를 살펴보자.
UMover에 대해 위와 같은 코드가 적혀있는데, 이는 Tick에 대해 활성화(true)해준 것을 의미한다.
우리는 TriggerComponent에서도 위와 같이 생성자를 통해 디폴트로 Tick을 활성화해줄 필요가 있다.
이제 실행해보면 무사히 출력된다.
추가로 생성자를 사용할 때 주의해야할 점이 있다.
생성자에 간단한 출력로그를 작성하고, 레벨에 존재하는 아무 액터에 Trigger 컴포넌트를 붙여서 실행해보면 해당 출력로그가 출력된다.
따라서 게임을 플레이 하지 않고 수정하기만 해도 C++ 코드의 생성자가 호출될 수 있다.
해당 오브젝트가 생성되면서 생성자를 호출해 설정하기 때문이다.
따라서 이점을 주의해서 기억해둘 필요가 있다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-32 (0) | 2024.03.26 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-31 (0) | 2024.03.26 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-29 (0) | 2024.03.25 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-28 (0) | 2024.03.25 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-27 (0) | 2024.03.24 |