Je te remercie pour ce bout de code ça marche presque parfaitement. Par contre il m'ouvre une nouvelle fenêtre. Je suis sur que cela vient du fait que je recréé mon moteur 3d et que je remets une boucle de rendu.
Y'a t-il une solution pour ça.
#include "Login.h"
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace gui;
int login() {
stringc varlogin,varpass;
IrrlichtDevice* device = createDevice(video::EDT_OPENGL,core::dimension2d<s32>(1024,768), 32);
video::IVideoDriver* driver = device->getVideoDriver ();
scene::ISceneManager *scenegraph = device->getSceneManager ();
//On récupère un pointeur vers la GUI.
IGUIEnvironment* env = device->getGUIEnvironment();
IGUIEnvironment *gui = scenegraph->getGUIEnvironment();
//On crée une instance contenant la police.
gui::IGUIFont *font = env ->getFont("font.png");
//affichage du texte
gui::IGUIStaticText* login = env->addStaticText(L"Login",core::rect<s32>(710,190,900,220), false);
gui::IGUIEditBox *loginbox = env->addEditBox(L"", core::rect<s32>(610,230,890,280));
gui::IGUIStaticText* pass = env->addStaticText(L"Mot de passe",core::rect<s32>(660,320,900,350), false);
gui::IGUIEditBox *passbox = env->addEditBox(L"", core::rect<s32>(610,360,890,410));
gui::IGUIButton *boutonval = gui->addButton(core::rect<s32>(670,480,830,530), 0, -1, L"Validez");
//Mise en place de la police d'écriture pour les zones indiquées.
login->setOverrideFont(font);
loginbox ->setOverrideFont(font);
pass ->setOverrideFont(font);
passbox ->setOverrideFont(font);
boutonval ->setOverrideFont(font);
//On charge la page d'intro
video::ITexture *image = driver->getTexture ("intro.jpg");
//On teste que ça a marché
if (image == 0)
{
return 0;
}
//On met un titre dans la barre fenetre windows
wchar_t titre[100];
swprintf(titre, 100, L"Akhynia");
device->setWindowCaption(titre);
//boucle de rendu
while(device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
driver->draw2DImage(image, core::position2d<s32> (0,0));
env->drawAll();
scenegraph->drawAll ();
driver->endScene();
if (boutonval->isPressed() == true)
{
varlogin = loginbox->getText();
varpass = passbox->getText();
stringc loginbase = "aybo"; stringc passbase = "test";
if (varlogin == loginbase && varpass == passbase) return 2;
}
}
device->drop ();
return 1;
}
Ca c'est mon login
#include "Character.h"
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace gui;
int character() {
IrrlichtDevice* device = createDevice(video::EDT_OPENGL,core::dimension2d<s32>(1024,768), 32);
video::IVideoDriver* driver = device->getVideoDriver ();
scene::ISceneManager *scenegraph = device->getSceneManager ();
//On récupère un pointeur vers la GUI.
IGUIEnvironment* env = device->getGUIEnvironment();
IGUIEnvironment *gui = scenegraph->getGUIEnvironment();
//On crée une instance contenant la police.
gui::IGUIFont *font = env ->getFont("font.png");
//affichage du texte
gui::IGUIStaticText* login = env->addStaticText(L"test réussi avec succès",core::rect<s32>(710,190,900,220), false);
login->setOverrideFont(font);
//On met un titre dans la barre fenetre windows
wchar_t titre[100];
swprintf(titre, 100, L"Akhynia");
device->setWindowCaption(titre);
//boucle de rendu
while(device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
env->drawAll();
scenegraph->drawAll ();
driver->endScene();
}
device->drop ();
return 1;
};
Et ça c'est ma création de perso.