From 644c1ee1a1f109ae293cc6b09fafe8ba8b448ff3 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Sat, 14 Dec 2024 12:47:41 +0100 Subject: more demo WIP --- src/example/demo.cpp | 46 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 insertions(+), 3 deletions(-) (limited to 'src/example') diff --git a/src/example/demo.cpp b/src/example/demo.cpp index a7d784e..d7adbdb 100644 --- a/src/example/demo.cpp +++ b/src/example/demo.cpp @@ -2,23 +2,63 @@ #include #include #include +#include +#include +#include using namespace crepe; using namespace std; +class PlayerController : public Script { + void update() { + } +}; + class DemoScene : public Scene { string get_name() const override { return "DemoScene"; } void load_scene() override { GameObject camera = new_object("camera"); - camera.add_component(vec2{10, 10}, Camera::Data{}); + camera.add_component(vec2{10, 10}, Camera::Data{ + .bg_color = {0x22, 0x22, 0x22}, + }); + + + GameObject ground = new_object("ground"); + Sprite & ground_sprite = ground.add_component( + Asset{"asset/demo/floor.png"}, + Sprite::Data{ + .size = {10, 2}, + } + ); + ground.transform.position = {0, 4}; + ground.add_component(Rigidbody::Data{ + .body_type = Rigidbody::BodyType::STATIC, + }); + ground.add_component(ground_sprite.data.size); + + + GameObject player = new_object("player"); + Sprite & player_sprite = player.add_component( + Asset{"asset/demo/player.png"}, + Sprite::Data{ + .size = { 1, 1 }, + } + ); + player.add_component(Rigidbody::Data{}); + player.add_component(player_sprite.data.size); + player.add_component().set_script(); } }; int main() { - Engine demo; + Config::get_instance() = { + .window = { + .size = {800, 800}, + }, + }; + Engine demo; demo.add_scene(); - return demo.main(); } -- cgit v1.2.3