建议输入法直接设置为在中文输入法下仍旧使用英文符号......
建议输入法直接设置为在中文输入法下仍旧使用英文符号......
meta = (ClampMin= -5,ClampMin = 5,UIMin = -4,UIMax = 4)//限制最大最小值和UI最大最小zhi
.h
UPROPERTY(VisibleAnywhere, CateGory = "Cube")
UStaticMeshComponent* Cube;
.cpp
Cube = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Cube"));
RootComponent = Cube;
.h
UPROPERTY(EditAnywhere,CateGory="Force")
FVector Force;
UPROPERTY(EditAnywhere,CateGory="TForce")
FVector TForce;
.cpp
AMyAcotr::AMyAcotr()
{
Force = FVector(0.f,0.f,0.f);
TForce = FVector(0.f,0.f,0.f);
}
void AMyAcotr::BeginPlay()
{
Cube->AddForce(Force,NAME_None,true);
Cube->AddTorqueInRadians(TForceNAME_None,true);
}
.h
UPROPERTY(EditAnywhere,CateGory="Force")
FVector MSpeed;
UPROPERTY(EditAnywhere,CateGory="TForce")
FRotator TSpeed;
.cpp
void AMyAcotr:Tick(float DeltaTime)
{
FVector NewLocation = GetActorLocation();
NewLocation = GetActorLocation() + FVector(MSpeed.X*DeltaTime,MSpeed.Y*DeltaTime,MSpeed.Z*DeltaTime);
SetActorLocation(NewLocation);
FRotator NewRotation = GetActorRotation();
NewRotation =GetActorRotation() + FRotator(TSpeed.Yaw*DeltaTime,MSpeed.Roll*DeltaTime,MSpeed.Pitch*DeltaTime);
SetActorRotation(NewRotation);
}
.h
UPROPERTY(EditAnywhere,CateGory="Force")
FVector MSpeed;
UPROPERTY(EditAnywhere,CateGory="TForce")
FRotator TSpeed;
.cpp
void AMyAcotr:Tick(float DeltaTime)
{
AddActorWorldOffset(MSpeed,True);
AddActorWorldRotation(TSpeed,True);
}
#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)
{
//触发事件
}