Y Sorting
This commit is contained in:
@ -1,24 +1,58 @@
|
||||
#include <Game.hpp>
|
||||
|
||||
#include <IAEngine/Input.hpp>
|
||||
#include <IAEngine/Rendering/Camera.hpp>
|
||||
#include <IAEngine/Components/SpriteRenderer.hpp>
|
||||
|
||||
#include <IACore/File.hpp>
|
||||
|
||||
namespace ia::iae::game
|
||||
{
|
||||
RefPtr<iae::Scene> scene;
|
||||
RefPtr<Scene> scene;
|
||||
|
||||
Texture g_tex;
|
||||
Texture g_tex2;
|
||||
RefPtr<Node> g_player;
|
||||
|
||||
VOID Game::Initialize()
|
||||
{
|
||||
scene = Engine::CreateScene();
|
||||
scene->YSortingEnabled() = true;
|
||||
Engine::ChangeScene(scene);
|
||||
|
||||
const auto d = File::ReadToVector("Graphics/1.jpg");
|
||||
g_tex = Engine::CreateTexture(d.data(), d.size());
|
||||
g_tex2 = Engine::CreateTexture(d.data(), d.size());
|
||||
g_player = MakeRefPtr<Node>();
|
||||
{
|
||||
const auto t = g_player->AddComponent<SpriteRendererComponent>();
|
||||
t->AddAnimation({
|
||||
.ShouldLoop = true,
|
||||
.Keys = {
|
||||
SpriteRendererComponent::AnimationKeyFrame {
|
||||
.Scale = {0.1f, 0.1f, 0.1f},
|
||||
.Texture = Engine::CreateTexture(File::ReadToVector("Graphics/green.png")),
|
||||
}
|
||||
},
|
||||
});
|
||||
t->BakeAnimations();
|
||||
}
|
||||
g_player->SetLocalPosition({200, 200, 0});
|
||||
|
||||
const auto obstacle = MakeRefPtr<Node>();
|
||||
{
|
||||
const auto t = obstacle->AddComponent<SpriteRendererComponent>();
|
||||
t->AddAnimation({
|
||||
.ShouldLoop = true,
|
||||
.Keys = {
|
||||
SpriteRendererComponent::AnimationKeyFrame {
|
||||
.Scale = {0.25f, 0.25f, 0.1f},
|
||||
.Texture = Engine::CreateTexture(File::ReadToVector("Graphics/red.png")),
|
||||
}
|
||||
},
|
||||
});
|
||||
t->BakeAnimations();
|
||||
}
|
||||
obstacle->SortOffset() = 20;
|
||||
obstacle->SetLocalPosition({150, 100, 0});
|
||||
|
||||
scene->AddNode(g_player);
|
||||
scene->AddNode(obstacle);
|
||||
}
|
||||
|
||||
VOID Game::Terminate()
|
||||
@ -27,8 +61,6 @@ namespace ia::iae::game
|
||||
|
||||
VOID Game::Update()
|
||||
{
|
||||
g_tex.Draw({200.0f, 150.0f, 10.0f}, {1.0f, 1.0f, 1.0f}, 0.0f, false, false, {1.0f, 1.0f, 1.0f, 1.0f});
|
||||
g_tex2.Draw({300.0f, 150.0f, 15.0f}, {1.0f, 1.0f, 1.0f}, 0.0f, false, false, {1.0f, 0.0f, 1.0f, 1.0f});
|
||||
//iae::Renderer::GetCamera()->Position().x += 0.1f;
|
||||
g_player->SetLocalPosition(g_player->GetLocalPosition() + glm::vec3{Input::GetDirectionalInput(), 0.0f});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user