From c4fc52b043a5367126c5f99d52176bd0968fba68 Mon Sep 17 00:00:00 2001 From: Foxar Date: Tue, 8 Dec 2020 19:27:30 +0100 Subject: [PATCH] Added: Sprites representing lifes player has left, and life variable. --- src/samples/dolphin/dolphin.cpp | 14 ++++++++++++++ src/samples/dolphin/dolphin.hpp | 1 + src/samples/dolphin/objects/player.cpp | 1 + src/samples/dolphin/objects/player.hpp | 2 ++ 4 files changed, 18 insertions(+) diff --git a/src/samples/dolphin/dolphin.cpp b/src/samples/dolphin/dolphin.cpp index cc4de00..1c12dee 100755 --- a/src/samples/dolphin/dolphin.cpp +++ b/src/samples/dolphin/dolphin.cpp @@ -91,6 +91,16 @@ void Dolphin::onInit() oysters[i].mesh.position.set(i * -100, 5.0F, i * -100); } + Texture *pLifeTex = texRepo->add("2d/", "life", PNG); + //pLifeTex->addLink(lifeSprites[0].getId()); + for (int i = 0; i < 3; i++) + { + lifeSprites[i].size.set(64.0F, 64.0F); + lifeSprites[i].setMode(MODE_STRETCH); + lifeSprites[i].position.set(395 + (64 * i), 0); + pLifeTex->addLink(lifeSprites[i].getId()); + } + texRepo->addByMesh("dolphin/", player.mesh, BMP); texRepo->addByMesh("sunnyisl/", island, BMP); texRepo->addByMesh("skybox/", skybox, BMP); @@ -152,6 +162,10 @@ void Dolphin::onUpdate() engine->renderer->draw(oysters[i].mesh); } } + for (u8 i = 0; i < player.getLifes(); i++) + { + engine->renderer->draw(lifeSprites[i]); + } engine->renderer->draw(player.mesh); if (camera.position.y < WATER_LEVEL) engine->renderer->draw(waterOverlay); diff --git a/src/samples/dolphin/dolphin.hpp b/src/samples/dolphin/dolphin.hpp index 0a42568..1d1ce9c 100755 --- a/src/samples/dolphin/dolphin.hpp +++ b/src/samples/dolphin/dolphin.hpp @@ -49,6 +49,7 @@ private: Sprite waterOverlay; Mesh water; Mesh waterbox; + Sprite lifeSprites[3]; }; #endif diff --git a/src/samples/dolphin/objects/player.cpp b/src/samples/dolphin/objects/player.cpp index 8051b55..a430173 100755 --- a/src/samples/dolphin/objects/player.cpp +++ b/src/samples/dolphin/objects/player.cpp @@ -25,6 +25,7 @@ Player::Player() mesh.rotation.x = -1.6F; mesh.setAnimSpeed(0.05F); bIsJumping = false; + lifes = 3; } Player::~Player() diff --git a/src/samples/dolphin/objects/player.hpp b/src/samples/dolphin/objects/player.hpp index c615d13..39d6f8b 100755 --- a/src/samples/dolphin/objects/player.hpp +++ b/src/samples/dolphin/objects/player.hpp @@ -27,10 +27,12 @@ public: ~Player(); void update(Pad &t_pad); const u8 &isJumping() { return bIsJumping; } + const u8 &getLifes() { return lifes; } private: u8 bIsJumping; Vector3 playerNextPosition; + u8 lifes; }; #endif