Historique des modifications - Message

Message #5255

Sujet: Problème ouverture de 2 fenêtres


TypeDateAuteurContenu
Création du message18-12-2008 19:23:19Magun
voila je tes fait un code utilisable dans l'étatwink
j'espère que se seras tout :p

login.h :
#ifndef LOGIN_H
#define LOGIN_H

#include <irrlicht.h>
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace gui;

class login
{
    public:
        login(IrrlichtDevice* Device)
        {
            device = Device;
            driver = device->getVideoDriver();
            scenegraph = device->getSceneManager ();
            env = device->getGUIEnvironment();

            IGUIFont *font = env->getFont("font.png");
            if(font)
                env->getSkin()->setFont(font);

            env->addStaticText(L"Login",core::rect<s32>(710,190,900,220), false);
            loginbox = env->addEditBox(L"", core::rect<s32>(610,230,890,280));
            env->addStaticText(L"Mot de passe",core::rect<s32>(660,320,900,350), false);
            passbox = env->addEditBox(L"", core::rect<s32>(610,360,890,410));
            boutonval = env->addButton(core::rect<s32>(670,480,830,530), 0, -1, L"Validez");

            image = driver->getTexture("intro.jpg");
        }
        ~login()
        {
            env->clear();
            scenegraph->clear();
            driver->removeAllTextures();
        }
        char draw()
        {
            if(image)
                driver->draw2DImage(image, core::position2d<s32> (0,0));
            if (boutonval->isPressed() == true)
            {
                varlogin = loginbox->getText();
                varpass = passbox->getText();
                stringc loginbase = "aybo"; stringc passbase = "test";
                if (varlogin == loginbase && varpass == passbase)
                    return 2;
            }
        }
    private:
        stringc varlogin,varpass;
        ITexture *image;
        IVideoDriver *driver;
        IrrlichtDevice *device;
        ISceneManager *scenegraph;
        IGUIEnvironment *env;
        IGUIButton *boutonval;
        IGUIEditBox *loginbox;
        IGUIEditBox *passbox;
};

#endif

coreApp.h:
#ifndef IRR_CORE
#define IRR_CORE

#include "Character.h"

class coreApp
{
    public:
        coreApp();
        ~coreApp();
        void draw();
    protected:
    private:
        IrrlichtDevice *device;
        IGUIEnvironment* env;
        IVideoDriver *driver;
        ISceneManager *scenegraph;
        login *LOGIN;
        character *Carac;
};

#endif

caoreApp.cpp:
#include "coreApp.h"

coreApp::coreApp()
{
    device = createDevice(EDT_OPENGL,dimension2d<s32>(1024,768), 32);
    driver = device->getVideoDriver();
    scenegraph = device->getSceneManager();
    env = device->getGUIEnvironment();
    LOGIN = new login(device);
}
coreApp::~coreApp()
{
    device->closeDevice();
}
void coreApp::draw()
{
    while(device->run())
    {
        driver->beginScene(true, true, SColor(255,100,101,140));
        env->drawAll();
		scenegraph->drawAll();
		static bool next = true;
		if(LOGIN && LOGIN->draw() == 2)
        {
            delete LOGIN;
            LOGIN = false;
            Carac = new character(device);
        }
        if(Carac)
            Carac->draw();
        driver->endScene();
    }
    device->drop();
}

charactere.h:
#ifndef CHARACTER_H
#define CHARACTER_H

#include "Login.h"

class character
{
    public:
        character(IrrlichtDevice* Device);
        ~character();
        char draw();
    private:
        IrrlichtDevice* device;
};

#endif

charactere.cpp
#include "Character.h"

character::character(IrrlichtDevice* Device)
{
    device = Device;
    IVideoDriver* driver = device->getVideoDriver ();
    ISceneManager *scenegraph = device->getSceneManager ();

	//On récupère un pointeur vers la GUI.
	IGUIEnvironment* env = device->getGUIEnvironment();
	IGUIStaticText* login = env->addStaticText(L"test reussi avec succes",rect<s32>(710,190,900,220),false);

	wchar_t titre[100];
	swprintf(titre, 100, L"Akhynia");
	device->setWindowCaption(titre);
}
character::~character()
{
}
char character::draw()
{
}

akhynia/main .cpp:
#include "coreApp.h"

int main()
{
    coreApp *coreApli = new coreApp();
    coreApli->draw();
}

voila et la prochaine fois stp
recopie pas bêtement les codes que l'on donne, je t'avais écris le principe du code ...
quand tu voie des commentaire dans un code sans les // avants ou entre /* et */ ses que se n'est pas forcement un code compilablesmile

a par sa et bien tu avais écris des caractère spéciaux dans une chaine de caractère ( é, è,@, .... ) ne peuve être écrire seulement avec une fonction qui est qu'elle que par dans le forumwink

voila voila bonne chance pour le futur de ton aplicationsmile

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
123 invités en ligne
membre en ligne: -
RSS Feed