#1 

03-01-2009 12:12:05

thealone
Membres
Date d'inscription:
Messages: 2
IP: 90.29.33.248
Courriel

Bonjour à tous,

Je suis en train d'apprendre à utiliser Irrlicht avec un tutoriel sur le Site du Zero, et j'en suis sur le chapitre des GUI, j'essaye d'afficher du texte mais quand je compile mon compilo me renvoit une erreur, pour info j'utilise CodeBlocks comme IDE, et la version 1.5 d'Irrlicht, donc voici le code :

#include <iostream>
#include <IRR/irrlicht.h>

using namespace irr;

int main(void)
{
    IrrlichtDevice *device = createDevice (video::EDT_OPENGL, core::dimension2d<s32>(800,600),32,false,true,false,0);
    video::IVideoDriver* driver = device->getVideoDriver ();
    scene::ISceneManager *scenegraph = device->getSceneManager ();
    gui::IGUIEnvironment *GUI = device->getGUIEnvironment();

    core::vector3df posCam;


    scene::ICameraSceneNode *camera = scenegraph->addCameraSceneNodeFPS (0,80.0f,0.5f);
    camera->setPosition(core::vector3df(10.0, 50.0, -50.0));


    scene::IAnimatedMesh *room = scenegraph->getMesh("room.3ds");
    scene::IMeshSceneNode *Nroom = scenegraph->addMeshSceneNode(room->getMesh(0)); //atachement à la node

    Nroom->setMaterialFlag(video::EMF_LIGHTING, true); //material, sensible à la lumière pour true


    scenegraph->getMeshManipulator()->makePlanarTextureMapping(room->getMesh(0), 0.004f);
    Nroom->setMaterialTexture( 0, driver->getTexture("rockwall.bmp") );


    Nroom->getMaterial(0).Shininess = 0.0f;



    scene::ILightSceneNode* lum1 = scenegraph->addLightSceneNode(Nroom, core::vector3df(150,210,250),video::SColorf(0.9f, 0.9f, 1.0f, 0.0f), 100.0f);
    scene::ILightSceneNode* lum2 = scenegraph->addLightSceneNode(Nroom, core::vector3df(-350,170,0),video::SColorf(1.0f, 0.9f, 0.9f, 0.0f), 100.0f);
    scene::ILightSceneNode* lum3 = scenegraph->addLightSceneNode(Nroom, core::vector3df(140,230,-270),video::SColorf(0.9f, 1.0f, 0.9f, 0.0f), 100.0f);

   gui::IGUIEnvironment *texte = gui->addStaticText(L"bouh", core::rect<s32>(100,20,400,60), true, true, 0, -1, true); //c'est cette ligne qui pose aparement probleme

    //La boucle de rendu
    while (device->run ())
    {
        //On indique qu'on démarre la scène
        driver->beginScene (true, true, video::SColor (255,255,255,255));
        //On calcule le rendu
        scenegraph->drawAll ();
        gui->drawAll();
        //On affiche le rendu à l'écran
        driver->endScene ();
    }

    device->drop ();

    return 0;
}

L'erreur renvoyer est la suivante :

error: expected primary-expression before '->' token

Je vous remercie d'avance !


Hors ligne


#2 

03-01-2009 12:32:05

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 78.115.112.153
Courriel  Site web

regarde ton IGUIEnvironment * s'appelle GUI et non gui wink
et puis il faut passer par un IGUIStaticText * et non un IGUIEnvironement *

il faut donc écrire :
gui::IGUIStaticText *texte = GUI->addStaticText(L"bouh", core::rect<s32>(100,20,400,60), true, true, 0, -1, true);

ps : jais écris les fonction de tête il se peut que se ne soit pas l'orthographe exacte ^^

Hors ligne


#3 

03-01-2009 12:50:07

thealone
Membres
Date d'inscription:
Messages: 2
IP: 90.29.33.248
Courriel

Sa marche !

j'avait essayer de mettre GUI à la place de gui mais avec IGUIEnvironment et non IGUIStaticText. Mal lu désolée !

Merci beaucoup en tout cas !


Hors ligne


#4 

05-01-2009 13:16:08

Metallizer
Membres
Avatar de Metallizer
Date d'inscription:
Messages: 100
IP: 90.19.160.202
Courriel  Site web

En effet il s'agit d'une mauvaise utilisation de tes variables, pour mieux comprendre le message d'erreur et apporter une précision, en utilisant -> sur "gui", tu as fait appel au namespace gui définit par Irrlicht, si tu avais utilisé une autre variable du style "monGui->addStaticText(...)", tu aurais eu plutôt un message d'erreur du style "monGui was not declared...".

C'est pour ça qu'il vaut mieux utiliser des noms d'objets dont on est sûr qu'ils ne risquent pas de ressembler à des objets déjà définis par Irrlicht ou la STL.


Hors ligne


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
125 invités en ligne
membre en ligne: -
RSS Feed