Bonjour à tous les Irrlichtiens,
Je découvre Irrlicht depuis environ un mois.
Une fois la création du device effectuée, on peut accéder au gestionnaire de scène :
m_IrrSceneManager = device->getSceneManager();
J'ai commencé la création d'un gamestate : un gamestate pour l'intro, un pour le menu, un pour le jeu.
Lorsque l'on joue (gamestate "jeu"), on peut retourner au menu (gamestate "menu"), comme dans tous les jeux !
J'aimerais avoir une scene 3D rien que pour le menu, évidemment sans décharger en mémoire la scène du jeu. Actuellement, j'utilise le même SceneManager donc les objets du gamestate "menu" sont ajoutés au objets du gamestate "jeu".
Voici donc ma question : Est-il possible de créer plusieurs SceneManager (chacun avec différents objets) et de les "assigner" quand on en a besoin au device.
Merci d'avance pour vos réponse,
Olivier
Hors ligne
A priori, il est tout a fait possible de créer plusieurs scenemanagers. Il existe une instruction d'ailleur: createNewSceneManager
Je t'avouerais que je n'ai jamais testé
On pourrait voir une architecture de la sorte s'écrire comme cela:
Hors ligne
Merci pour la réponse (rapide qui plus est).
J'ai maintenant dans chaque gamestate "un SceneManager" indépendant. Chacun peut contenir des nodes différents :
Dans chaque game state, je récupérais l'instance avec ceci, mais tous les nodes étaient mélangés !
m_IrrSceneManager = device->getSceneManager()
Désormais, il me suffit de faire :
m_IrrSceneManager = device->getSceneManager()->createNewSceneManager(false);
Olivier
Hors ligne
Tu sembles donc avoir trouvé tes réponses, c'est cool
Hors ligne