Wyświetlanie dziedziczonych zmiennych z innej klasy w grze

0

Mam klasę Player

 class Player: public sf::Drawable, public sf::Transformable
{
public:
int hp=100;
void hp_update();

//reszta składników klasy
}

Oraz klasę Playermenu, która odpowiada za wyświetlanie menu gracza w grze RPG

 
class Playermenu :	public Player
{
private:
int hp = Player::hp;


//reszta skladnikow klasy
}

Problem pojawia się gdy hp gracza ulega zmianie, na scenie nie zmienia się wartość hp. Może być to wina tego że hp_text.setString(to_string(hp)); jest w złym miejscu. Czy wina leży po stronie tego że tylko wyświetlanie nie działa, czy samo przekazywanie informacji do innej klasy nie działa?

0

W Playermenu to coś nie jest w ogóle potrzebne bo przecież dziedziczysz hp z Playera

Lecz głównym problemem tutaj jest złe zaprojektowanie tego wszystkiego. Playermenu nijak nie jest specyficznym Playerem. Nie powinno dziedziczyć po Playerze.
Przemyśl to jeszcze raz (:

0

Masz jakieś sugestie jak to rozplanować? O ile w tym miejscu sobie jestem wstanie poradzić i wyświetlać te elementy za pomocą klasy Player, to kompletnie nie wiem jak zrobić interakcje z mapą i npc'tami, którymi zajmuje się jeszcze inna klasa.

0

Lekcja na dziś: kompozycja/agregacja a nie dziedziczenie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1