CE : 하랑 2024. 2. 17. 21:14

 

TitleActor.h

#pragma once
#include<EngineCore/EngineCore.h> // GEngine
#include <EngineCore\Actor.h> // 액터 상속

class ATitleActor : public AActor
{
public:

	// constrcuter destructer
	ATitleActor(); // 디폴트 생성자
	~ATitleActor(); // 디폴트 소멸자

	// delete Function
	ATitleActor(const ATitleActor& _Other) = delete; // 디폴트 복사 생성자
	ATitleActor(ATitleActor&& _Other) noexcept = delete; 
	ATitleActor& operator=(const ATitleActor& _Other) = delete; // 디폴트 대입 연산자
	ATitleActor& operator=(ATitleActor&& _Other) noexcept = delete;

protected:
	void BeginPlay() override;
	void Tick(float _DeltaTime) override;
private:
	// 이미지 랜더
	UImageRenderer* TitleRenderer = nullptr;
	UImageRenderer* LogRenderer = nullptr;
	UImageRenderer* StartRenderer = nullptr;

	// 윈도우 크기
	FVector windowScale = GEngine->MainWindow.GetWindowScale();
};

 

 


 

(1) BeginPlay()

void ATitleActor::BeginPlay()
{
	AActor::BeginPlay();

	TitleRenderer = CreateImageRenderer(ERenderOrder::TitleMap); // 이미지 랜더 생성
	TitleRenderer->SetImage("Mapback.png"); // 이미지 Set
	TitleRenderer->SetTransform({ {0,0}, {1900,1100} }); // 액터에서의 렌더(이미지) 위치 및 크기 설정 

	LogRenderer = CreateImageRenderer(ERenderOrder::Log); // 이미지 랜더 생성
	LogRenderer->SetImage("Log.png"); // 이미지 Set
	LogRenderer->SetTransform({ { 0,50 }, windowScale });

	StartRenderer = CreateImageRenderer(ERenderOrder::Log); // 이미지 랜더 생성
	StartRenderer->SetImage("Text.png"); // 이미지 Set
	StartRenderer->SetTransform({ { 200,250 }, {64*10, 64*8} });
	
	// 애니메이션 생성 및 실행
	// 배경 애니메이션
	TitleRenderer->CreateAnimation("Mapback", "Mapback.png", 0, 4, 3.0f, true);
	TitleRenderer->ChangeAnimation("Mapback");

	// Ready 애니메이션
	StartRenderer->CreateAnimation("Ready", "Text.png", 0, 10, 0.5f, false);
	StartRenderer->ChangeAnimation("Ready");
}

 

- 랜더링 생성

- 애니메이션 생성 및 실행