基础操作,总是忘记,记录下来备忘,未完待续。。。
cpp
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyTaskTestClass.generated.h"
UCLASS()
class BUTTONCTEST_API AMyTaskTestClass : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AMyTaskTestClass();
//可在编辑器内实时调用
virtual void OnConstruction(const FTransform& Transform) override;
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
private:
UPROPERTY(VisibleAnywhere)
UStaticMeshComponent* TestMesh;
UPROPERTY(VisibleAnywhere)
USceneComponent* DefaultSceneRoot;
};
cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyTaskTestClass.h"
#include "UObject/ConstructorHelpers.h"
#include "Engine/StaticMesh.h"
#include "HAL/Runnable.h"
#include "HAL/RunnableThread.h"
// Sets default values
AMyTaskTestClass::AMyTaskTestClass()
{
// 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;
DefaultSceneRoot = CreateDefaultSubobject<USceneComponent>(TEXT("DefaultSceneRoot"));
RootComponent = DefaultSceneRoot;
TestMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("TestMesh"));
TestMesh->SetupAttachment(DefaultSceneRoot);
}
void AMyTaskTestClass::OnConstruction(const FTransform& Transform)
{
Super::OnConstruction(Transform);
static ConstructorHelpers::FObjectFinder<UStaticMesh>MeshAsset1(TEXT("/Game/Torus_123.Torus_123"));
if (MeshAsset1.Succeeded())
{
TestMesh->SetStaticMesh(MeshAsset1.Object);
}
static ConstructorHelpers::FObjectFinder<UStaticMesh>MeshAsset2(TEXT("/Game/Torus_234.Torus_234"));
if (MeshAsset2.Succeeded())
{
TestMesh->SetStaticMesh(MeshAsset2.Object);
}
}
// Called when the game starts or when spawned
void AMyTaskTestClass::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AMyTaskTestClass::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
/*
这是一个简单的函数,它接受两个整数并返回它们的和
int32 Add(int32 a, int32 b) {
return a + b;
}
// 在某个地方定义一个函数指针,并将它指向Add函数
int32 (*FuncPtr)(int32, int32) = Add;
// 然后,你可以使用函数指针来调用Add函数
int32 Sum = FuncPtr(2, 3);
*/