Message #9879
Sujet: Inclure un fichier
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Création du message | 12-03-2011 12:48:09 | Kaze |
Bonjour à tous. C'est mon premier post donc je vais essayer de faire au mieux : je programme sur irrlicht depuis peu de temps et j'ai d'abord fait du C. Tout cela pour dire que j'ai essayé d'inclure une page en plus dans mon projet et il crée deux fenetres. Voiçi mes codes :
main.cpp : #include <irrlicht.h> #include "menu.h" using namespace irr; int main(void) { IrrlichtDevice* device = createDevice(video::EDT_OPENGL,core::dimension2d<u32>(1024,725), 32); video::IVideoDriver* driver = device->getVideoDriver (); scene::ISceneManager *sceneManager = device->getSceneManager (); gui::IGUIEnvironment *gui = sceneManager->getGUIEnvironment(); int Jactif = 0, Oactif = 0, Qactif = 0; // CHARGEMENT DE L'IMAGE DE FOND video::ITexture *menuF = driver->getTexture ("menu/accueil/fond.png"); // chargement de la texture core::position2d<s32> origine; // creation position origine origine.X = 0; origine.Y = 0; core::position2d<s32> fin; // creation position fin fin.X = 1024; fin.Y = 725; core::rect<s32> fenetre; // creation rectangle fenetre.UpperLeftCorner = origine; // contenant l'image fenetre.LowerRightCorner = fin; // CHARGEMENT DES DIFFERENTS BOUTONS video::ITexture *jouer = driver->getTexture ("menu/accueil/jouer.png"); video::ITexture *jouerPRESS = driver->getTexture ("menu/accueil/jouerPRESS.png"); video::ITexture *options = driver->getTexture ("menu/accueil/options.png"); video::ITexture *optionsPRESS = driver->getTexture ("menu/accueil/optionsPRESS.png"); video::ITexture *quitter = driver->getTexture ("menu/accueil/quitter.png"); video::ITexture *quitterPRESS = driver->getTexture ("menu/accueil/quitterPRESS.png"); gui::IGUIButton *jouerB = gui->addButton(core::rect<s32>(176,163,299,529),0, -1); jouerB->setImage(jouer); jouerB->setPressedImage(jouerPRESS); gui::IGUIButton *optionsB = gui->addButton(core::rect<s32>(574,409,695,725),0, -1); optionsB->setImage(options); optionsB->setPressedImage(optionsPRESS); gui::IGUIButton *quitterB = gui->addButton(core::rect<s32>(887,654,1024,725),0, -1); quitterB->setImage(quitter); quitterB->setPressedImage(quitterPRESS); while(device->run ()) // la boucle de rendu { driver->beginScene(true, true,video::SColor (0,120,120,120)); driver->draw2DImage(menuF,origine,fenetre,0,video::SColor (255,255,255,255),true); if(jouerB->isPressed()){Jactif=1;} // Permet de montrer l'image jouerPRESS if(!jouerB->isPressed() && Jactif==1){return 0;} if(optionsB->isPressed()){Oactif=1;} // Permet de montrer l'image optionsPRESS if(!optionsB->isPressed() && Oactif==1){optionsM();} if(quitterB->isPressed()){Qactif=1;} // Permet de montrer l'image quitterPRESS if(!quitterB->isPressed() && Qactif==1){return 0;} gui->drawAll(); driver->endScene (); } device->drop (); return 0; } menu.h : #ifndef MENU_H #define MENU_H void optionsM(); #endif options.cpp : #include <irrlicht.h> #include "menu.h" using namespace irr; void optionsM() { IrrlichtDevice* device = createDevice(video::EDT_OPENGL,core::dimension2d<u32>(1024,725), 32); video::IVideoDriver* driver = device->getVideoDriver (); scene::ISceneManager *sceneManager = device->getSceneManager (); gui::IGUIEnvironment *gui = sceneManager->getGUIEnvironment(); // CHARGEMENT DE L'IMAGE DE FOND video::ITexture *menuF = driver->getTexture ("menu/options/menu.png"); // chargement de la texture core::position2d<s32> origine; // creation position origine origine.X = 0; origine.Y = 0; core::position2d<s32> fin; // creation position fin fin.X = 1024; fin.Y = 725; core::rect<s32> fenetre; // creation rectangle fenetre.UpperLeftCorner = origine; // contenant l'image fenetre.LowerRightCorner = fin; while(device->run ()) // la boucle de rendu { driver->beginScene(true, true,video::SColor (0,120,120,120)); driver->draw2DImage(menuF,origine,fenetre,0,video::SColor (255,255,255,255),true); gui->drawAll(); driver->endScene (); } device->drop (); return 1; } Donc quand je lance le programme, il m'affiche une fenetre avec mes boutons et lorsque je clique sur le bouton optionsB, il crée une seconde fenetre. Est-il possible de faire afficher la page optionsM dans la première fenetre ? Merci d'avance. |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 155 invités en ligne membre en ligne: - RSS Feed |