x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

OnComponentBeginOverlap doesnt work...

When I play the setup, PickupBox doesn't destroy. My character bumps into him and can not destroy the PickupBox as expected form the code. I enabled/checked all Genrate Overlap Events' checkboxes for the pickupbox and my character... but I still can not destroy the object. When I enter/touch pickupbox, it doesn't do anything... just blocks my character when touched/approached. Any help will be appreciated.

Here is the code:

/------------------------------------------------------------------------------------------------------------------------------------ Pickup.h ------------------------------------------------------------------------------------------------------------------------------------/

include "CoreMinimal.h"

include "GameFramework/Actor.h" #include "Components/BoxComponent.h" #include "Pickup.generated.h"

UCLASS() class SAFARICOOKBOOKDEMO_API APickup : public AActor { GENERATED_BODY()

public:
// Sets default values for this actor's properties APickup();

 UPROPERTY(EditAnywhere)
 UBoxComponent* PickupBox;
 UPROPERTY(EditAnywhere)
 UStaticMeshComponent* PickupMesh;
 UFUNCTION()
 void OnOverlapBegin(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, 
     UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);

protected: // Called when the game starts or when spawned virtual void BeginPlay() override;

public:
// Called every frame virtual void Tick(float DeltaTime) override;

};

/------------------------------------------------------------------------------------------------------------------------------------ Pickup.cpp ------------------------------------------------------------------------------------------------------------------------------------/ #include "../Public/Pickup.h"

// Sets default values APickup::APickup() { // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. PrimaryActorTick.bCanEverTick = true;

 PickupBox = CreateDefaultSubobject<UBoxComponent>("PickupBox");
 PickupBox->OnComponentBeginOverlap.AddDynamic(this, &APickup::OnOverlapBegin);
 PickupMesh = CreateDefaultSubobject<UStaticMeshComponent>("PickupMesh");

}

void APickup::OnOverlapBegin(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) { Destroy(); }

// Called when the game starts or when spawned void APickup::BeginPlay() { Super::BeginPlay();

}

// Called every frame void APickup::Tick(float DeltaTime) { Super::Tick(DeltaTime);

}

Product Version: UE 4.16
Tags:
more ▼

asked Jul 28 '17 at 06:29 PM in C++ Programming

avatar image

rturgut
1 1 1

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question