Old pooling-based system remains for now but is now deprecated Former-commit-id: 9482b37fb19041399b7c26181319e1c00e7678fd [formerly 516aa322ca7f656e3e7c66010248b63068eec723] [formerly 6fdb81e8d59fef7d6e10e58898878d3e1a796188 [formerly c999fe23b149e14bdeeefed5436839fe44e1ebc3]] Former-commit-id: fb35c9017bc2c7d15e31ccadb3f943ca2f0332df [formerly 005fa120540dc1a2d09e30c2de9611c4cb98aecf] Former-commit-id: d51482384fffb5d1b339f3ce39df1a1ed6018228
52 lines
1.6 KiB
C++
52 lines
1.6 KiB
C++
// Sources pour https://github.com/DigitalPulseSoftware/NazaraEngine/wiki/(FR)-Tutoriel-01---Hello-World
|
|
|
|
#include <Nazara/Graphics.hpp>
|
|
#include <Nazara/Renderer.hpp>
|
|
#include <Nazara/Utility.hpp>
|
|
#include <NDK/Application.hpp>
|
|
#include <NDK/Components.hpp>
|
|
#include <NDK/Systems.hpp>
|
|
#include <NDK/World.hpp>
|
|
#include <iostream>
|
|
|
|
int main()
|
|
{
|
|
Ndk::Application application;
|
|
|
|
Nz::RenderWindow& mainWindow = application.AddWindow<Nz::RenderWindow>();
|
|
mainWindow.Create(Nz::VideoMode(800, 600, 32), "Test");
|
|
|
|
|
|
Ndk::World& world = application.AddWorld();
|
|
world.GetSystem<Ndk::RenderSystem>().SetGlobalUp(Nz::Vector3f::Down());
|
|
world.GetSystem<Ndk::RenderSystem>().SetDefaultBackground(Nz::ColorBackground::New(Nz::Color(192, 100, 100)));
|
|
|
|
|
|
Ndk::EntityHandle viewEntity = world.CreateEntity();
|
|
viewEntity->AddComponent<Ndk::NodeComponent>();
|
|
|
|
Ndk::CameraComponent& viewer = viewEntity->AddComponent<Ndk::CameraComponent>();
|
|
viewer.SetTarget(&mainWindow);
|
|
viewer.SetProjectionType(Nz::ProjectionType_Orthogonal);
|
|
|
|
|
|
Nz::TextSpriteRef textSprite = Nz::TextSprite::New();
|
|
textSprite->Update(Nz::SimpleTextDrawer::Draw("Hello world !", 72));
|
|
|
|
Ndk::EntityHandle text = world.CreateEntity();
|
|
Ndk::NodeComponent& nodeComponent = text->AddComponent<Ndk::NodeComponent>();
|
|
|
|
Ndk::GraphicsComponent& graphicsComponent = text->AddComponent<Ndk::GraphicsComponent>();
|
|
graphicsComponent.Attach(textSprite);
|
|
|
|
Nz::Boxf textBox = graphicsComponent.GetBoundingVolume().aabb;
|
|
nodeComponent.SetPosition(mainWindow.GetWidth() / 2 - textBox.width / 2, mainWindow.GetHeight() / 2 - textBox.height / 2);
|
|
|
|
while (application.Run())
|
|
{
|
|
mainWindow.Display();
|
|
}
|
|
|
|
return EXIT_SUCCESS;
|
|
}
|