Unreal Engine 4, AddDynamic не работает, если вызывается из конструктора

#unreal-engine4 #unrealscript

#unreal-engine4 #unrealscript

Вопрос:

Я новичок, пытаюсь закончить простое руководство по UE4 C : https://www.raywenderlich.com/185-unreal-engine-4-c-tutorial#toc-anchor-001 В тот момент, когда вы добавляете OnActorBeginOverlap.AddDynamic(this, amp;ABaseCoin::OnOverlap) в конструктор ABaseCoin, чтобы обработать событие, оно просто не работает. функция OnOverlap не вызывается, когда я перекрываю этого участника (но если я OnActorBeginOverlap.AddDynamic вставляю ABaseCoin::BeginPlay все работает. Пожалуйста, помогите, кто что-нибудь знает об этой проблеме

Ответ №1:

При использовании возникают проблемы.Теперь AddDynamic в конструкторе. Это также может привести к повреждению схемы элементов.

Поместите каждый конструктор.AddDynamic в PostInitializeComponents() или BeginPlay()

Комментарии:

1. Спасибо за ответ! PostInitializeComponents работает для меня!

2. это работает, но это приведет к ошибке «Сбой условия обеспечения: список вызовов [ CurFunctionIndex ] != Отменить» на каждом первом уровне загрузки / редактора, но в игре это работает нормально.