1
Graphique / Re : Initialisation d'un sf::RenderWindow
« le: Novembre 12, 2013, 10:19:00 am »
Salut !
Je travaille actuellement sur un projet de 3ème année en école d'info. On utilise la SFML aussi .
Pour ta question voilà ce que nous avons au niveau de l'architecture.
Un Manager qui est le big brother du jeux.
Ce Manager contient plusieurs sous partie du programme découpé en "Engine". Par exemple, nous avons un GameEngine (s'occupe de mettre à jour les propriété des objets du jeux), un PhysicEngine qui lui ne s'occupe que des calculs physiques (collisions etc), un GraphicEngine qui ne fait que de l'affichage, NetworkEngine, InputEngine etc etc.
Donc sur le principe d'avoir une classe qui ne fait que l'affichage je suis plus que d'accord, ça permet de bien séparer les différentes parties du code.
Cepedant si tu pars sur ce principe de plusieurs moteurs, essaie d'avoir quelque chose de cohérent au niveau de la structure de ceux-ci (par exemple, en passant par une interface IEngine qui oblige tous les moteurs à avoir la même forme, initialize(), update(), stop() par exemple).
Le Manager n'est chargé que de faire communiquer les engines, appeler leurs fonctions start() update() stop(), et des choses annexes au jeu.
Si quelqu'un a des remarques à faire je suis preneur
Cordialement.
Je travaille actuellement sur un projet de 3ème année en école d'info. On utilise la SFML aussi .
Pour ta question voilà ce que nous avons au niveau de l'architecture.
Un Manager qui est le big brother du jeux.
Ce Manager contient plusieurs sous partie du programme découpé en "Engine". Par exemple, nous avons un GameEngine (s'occupe de mettre à jour les propriété des objets du jeux), un PhysicEngine qui lui ne s'occupe que des calculs physiques (collisions etc), un GraphicEngine qui ne fait que de l'affichage, NetworkEngine, InputEngine etc etc.
Donc sur le principe d'avoir une classe qui ne fait que l'affichage je suis plus que d'accord, ça permet de bien séparer les différentes parties du code.
Cepedant si tu pars sur ce principe de plusieurs moteurs, essaie d'avoir quelque chose de cohérent au niveau de la structure de ceux-ci (par exemple, en passant par une interface IEngine qui oblige tous les moteurs à avoir la même forme, initialize(), update(), stop() par exemple).
Le Manager n'est chargé que de faire communiquer les engines, appeler leurs fonctions start() update() stop(), et des choses annexes au jeu.
Si quelqu'un a des remarques à faire je suis preneur
Cordialement.