#include "Components/BoxComponent.h"
.h
UPROPERTY(EditAnywhere,CateGory="OverlapComponent")
UBoxComponent* OverlapComponent;
UFUNCTION()
void OnComponentBeginOverlap(UPrimitiveComponent* OverlappedComponent,AActor* OtherActor,UPrimitiveComponent* OtherComp,int32 OtherBodyIndex,bool bFromSweep,const FHitResult& SweepResult);
.cpp
AMyAcotr::AMyAcotr()
{
OverlapComponent = CreateDefaultSubobject<UBoxComponent>(TEXT("OverlapComponent"));
OverlapComponent->SetupAttachment(RootComponent);
OverlapComponent->SetCollisionResponseToAllChannels(ECollisionResponse::ECR_Overlap);
}
void AMyActor::BeginPlay()
{
OverlapComponent->OnComponentBeginOverlap.AddDynamic(this,&AMyActor::OnComponentBeginOverlap);
}
void AMyActor:Tick(float DeltaTime)
{
AddActorWorldOffset(MSpeed,True);
AddActorWorldRotation(TSpeed,True);
}
void AMyActor::OnComponentBeginOverlap(UPrimitiveComponent* OverlappedComponent,AActor* OtherActor,UPrimitiveComponent* OtherComp,int32 OtherBodyIndex,bool bFromSweep,const FHitResult& SweepResult)
{
//触发事件
}