#0 

03-01-2009 13:12:05

thealone
Petit nouveau
Date d'inscription: 03-01-2009
Messages: 2

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 :

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


#1 

03-01-2009 13:32:05

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
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


#2 

03-01-2009 13:50:07

thealone
Petit nouveau
Date d'inscription: 03-01-2009
Messages: 2

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 !

Dernière modification par thealone (03-01-2009 13:52:45)

Hors ligne


#3 

05-01-2009 14:16:08

Metallizer
Abonné
Lieu: Région Parisienne
Date d'inscription: 07-01-2007
Messages: 100
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é
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
882 membres
1429 sujets
11119 messages
Dernier membre inscrit: LiseBuisson96
71 invités en ligne
Aucun membre connecté
RSS Feed