Historique des modifications - Message

Message #5255

Sujet: Problème ouverture de 2 fenêtres


Type Date Auteur Contenu
Création du message 18-12-2008 19:23:19 Magun
voila je tes fait un code utilisable dans l'état wink
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 compilable smile

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 forum wink

voila voila bonne chance pour le futur de ton aplication smile

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
136 invités en ligne
membre en ligne: -
RSS Feed