인프런 커뮤니티 질문&답변

themoon007님의 프로필 이미지

작성한 질문수

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

5강 캐릭터 콤보 액션

몽타주에 델리게이트 set 하는거는 일회용인가요??

해결된 질문

23.11.05 20:25 작성

·

484

·

수정됨

0

//몽타주 섹션 End 델리게이트 만들어서 콜백함수 연결하고  
	FOnMontageEnded EndDelegate;
	EndDelegate.BindUObject(this, &AABCharacterBase::ComboActionEnd);
	//델리게이트를 몽타주에 설정
	AnimInstance->Montage_SetEndDelegate(EndDelegate, ComboActionMontage);

수업 내용처럼 계속해서 지역변수로 선언한 델리게이트를 넣어줘야 하는 건가요???

 

안에서 MontageInstance->OnMontageEnded 처럼 멤버변수에 따로 복사 되는 것 같은데도

한번만 설정했을 시 잘 안되는 것 같아요.

 

FAnimMontageInstance 라고 몽타주 실행 할 때마다 생성되서 내부에 관리하는데 델리게이트를 FAnimMontageInstance에다가 설정하는 것으로 보입니다.

이 인스턴스가 어디서 계속 삭제되니까 설정도 계속 해줘야 하는 것으로 보입니다.

 

이곳은 복잡해서 흐름을 이해하기가 조금 힘든 것 같습니다.

답변 1

0

이득우님의 프로필 이미지
이득우
지식공유자

2023. 11. 06. 22:35

네 맞습니다.
공격할 때마다 몽타주 애셋으로부터 인스턴스가 새롭게 생성되서 매번 콤보를 실행할 때 델리게이트를 설정해주고 있습니다.