From 0da996d1c206947fdc54e324e46025efcf15fe64 Mon Sep 17 00:00:00 2001 From: WBoerenkamps Date: Tue, 3 Dec 2024 17:52:24 +0100 Subject: button example --- src/example/CMakeLists.txt | 2 +- src/example/button.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/example/button.cpp diff --git a/src/example/CMakeLists.txt b/src/example/CMakeLists.txt index 85ec466..93b9ee2 100644 --- a/src/example/CMakeLists.txt +++ b/src/example/CMakeLists.txt @@ -19,4 +19,4 @@ endfunction() add_example(asset_manager) add_example(savemgr) add_example(rendering_particle) - +add_example(button) diff --git a/src/example/button.cpp b/src/example/button.cpp new file mode 100644 index 0000000..d74f781 --- /dev/null +++ b/src/example/button.cpp @@ -0,0 +1,50 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace crepe; +using namespace std; + +int main(int argc, char * argv[]) { + ComponentManager mgr; + RenderSystem sys{mgr}; + EventManager& event_mgr = EventManager::get_instance(); + InputSystem input_sys{mgr}; + AnimatorSystem asys{mgr}; + GameObject camera_obj = mgr.new_object("", "", vec2{0, 0}, 0, 1); + camera_obj.add_component(Color::WHITE, ivec2{1080, 720}, vec2{2000, 2000}, 1.0f); + + GameObject button_obj = mgr.new_object("body", "person", vec2{0, 0}, 0, 1); + auto s2 = Texture("asset/texture/test_ap43.png"); + bool button_clicked = false; + auto & sprite2 = button_obj.add_component( + s2, Color::GREEN, Sprite::FlipSettings{false, false}, 2, 1, 100); + std::function on_click = [&]() { + std::cout << "button clicked" << std::endl; + }; + auto & button = button_obj.add_component