UE4在C++中使用OnComponentBeginOverlap之类的时间
首先说明一下,官方文档是错的,在4.10版本下,绑定函数在角色类的构造函数中不起作用。2016.2.12
这里角色类为例
首先在头文件中添加:
UFUNCTION() void OnOverlapBegin(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);
OnOverlapBegin为自己定义的碰撞函数
然后在Cpp文件中的SetupPlayerInputComponent函数中添加绑定函数:
StartCollectionSphere->OnComponentBeginOverlap.AddDynamic(this, &AThirdPersonCharacter::OnOverlapBegin);
StartCollectionSphere为自己定义的USphereComponent。AThirdPersonCharacter为角色类。
之后添加碰撞函数的定义
void AThirdPersonCharacter::OnOverlapBegin(class AActor* OtherActor, class UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) { GEngine->AddOnScreenDebugMessage(0, 1.0f, FColor::Red, TEXT("!!!!!!")); }