UE4 C++变量的声明,简单的位置获取,和设置位置
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor.generated.h"
UCLASS()
class BASICTRAINING_API AMyActor : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AMyActor();
UPROPERTY(VisibleAnywhere,Category="My Actor Components")//组件一般都给这个
UStaticMeshComponent* StaticMesh;
UPROPERTY(EditInstanceOnly,Category="My Actor Pro")//这个就像蓝图实例里(可编辑)和生成公开差不多,然后Gategory这个生成时公开的属性名字
FVector IL;
UPROPERTY(VisibleInstanceOnly,Category="My Actor Pro")//这个就只是公开,只能看到
FVector PL;
UPROPERTY(EditDefaultsOnly,Category="My Actor Pro") //这个就不能在实例里看到,到蓝图编辑器里可以看到和修改0
bool bflog;
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};
![在这里插入图片描述](https://img-blog.csdnimg.cn/5bdd29d7ac9949c18ea21cda66dc0486.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGl-fiM=,size_20,color_FFFFFF,t_70,g_se,x_16)
![在这里插入图片描述](https://img-blog.csdnimg.cn/8c847fe13b0e40f4a13c763a84f89d8f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGl-fiM=,size_20,color_FFFFFF,t_70,g_se,x_16)
#include "MyActor.h"
// Sets default values
AMyActor::AMyActor()
{
// 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;
StaticMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("My StaticMesh"));//这个不是名字,而是一个标识 ,创建一个静态网格体,因为只有一个所有会自动默认为跟组件
IL = FVector(0.0f);
PL = FVector(0.0f);
bflog = false;
}
// Called when the game starts or when spawned
void AMyActor::BeginPlay()
{
Super::BeginPlay();
PL=GetActorLocation();
if (bflog)
{
SetActorLocation(IL);
}
}
// Called every frame
void AMyActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}