diff --git a/examples/Tut01/build.lua b/examples/Tut01/build.lua new file mode 100644 index 000000000..a4f623662 --- /dev/null +++ b/examples/Tut01/build.lua @@ -0,0 +1,14 @@ +EXAMPLE.Name = "Tut01_HelloWorld" + +EXAMPLE.Console = true + +EXAMPLE.Files = { + "main.cpp" +} + +EXAMPLE.Libraries = { + "NazaraCore", + "NazaraGraphics", + "NazaraUtility", + "NazaraSDK" +} diff --git a/examples/Tut01/main.cpp b/examples/Tut01/main.cpp new file mode 100644 index 000000000..d1ebcd5d4 --- /dev/null +++ b/examples/Tut01/main.cpp @@ -0,0 +1,57 @@ +// Sources pour https://github.com/DigitalPulseSoftware/NazaraEngine/wiki/(FR)-Tutoriel-01---Hello-World + +#include +#include +#include +#include +#include +#include +#include +#include + +int main() +{ + Ndk::Application application; + + Nz::RenderWindow& mainWindow = application.AddWindow(); + mainWindow.Create(Nz::VideoMode(800, 600, 32), "Test"); + + Ndk::World& world = application.AddWorld(); + world.GetSystem().SetGlobalUp(Nz::Vector3f::Down()); + world.GetSystem().SetDefaultBackground(Nz::ColorBackground::New(Nz::Color(192, 100, 100))); + + + Ndk::EntityHandle viewEntity = world.CreateEntity(); + viewEntity->AddComponent(); + + Ndk::CameraComponent& viewer = viewEntity->AddComponent(); + 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::GraphicsComponent& graphicsComponent = text->AddComponent(); + 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()) + { + Nz::WindowEvent event; + while (mainWindow.PollEvent(&event)) + { + if (event.type == Nz::WindowEventType_Quit) + application.Quit(); + } + + mainWindow.Display(); + } + + return EXIT_SUCCESS; +}