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;
};
 


#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);
}










