Bonsoir, je vous écris pour avoir quelques conseils sur l'initialisation d'un objet sf::RenderWidow en C++.
Supposons que j'ai une petite classe affichage définie de cette manière:
class Affichage
{
public:
Affichage();
~Affichage();
private:
sf::RenderWindow fenetre;
}
Une manière d'initialiser fenetre serait de le faire dans la liste d'initialisation du constructeur, comme ceci par exemple:
Affichage::Affichage() : fenetre(sf::VideoMode(800,600,32), "jeu") {}
Mes questions sont les suivantes:
a) Au lieu d'initialiser ma fenêtre comme ceci, peut on l'initialiser plutôt en ajoutant une fonction membre qui ressemblerait à ceci:
affichage_init()
{
this->fenetre = ??? // le problème est ici, comment initialiser la variable membre fenetre de ma classe affichage avec this?
}
b) Prenons l'hypothèse d'un petit jeu en 2D avec une classe Jeu (qui s'occupe de gérer tout le jeu video. Est ce un bon choix d'avoir dans cette classe Jeu un membre de type affichage qui s'occupe d'initialiser la fenetre et les spirtes ... Par exemple on aurait ça:
class Jeu
{
public:
//pleins de fonctions membres
jeu_init(); //initialisation du jeu dont la fenetre avec la variable membre app;
}
private:
affichage app; // ma classe affichage
Et dans jeu_init() j'aurais pas exemple un affichage_init() (fonction membre de ma classe affichage) qui m'initialise la fenêtre, que pensez vous de cette façon de faire?
Merci.