Bonjour à tous,
J'essaye d'apprendre à utiliser Irrlicht .NET CP en C#, et je rencontre un petit problème.
Je n'arrive pas à récupérer la valeur d'une EditBox.
Petit code pour comprendre:
//initialisation IrrlichtDevice device =new IrrlichtDevice(DriverType.OpenGL,new dimension2d(800,600),32,false,true,false,false); GUIEnvironment gui=device.GUIEnvironment; //création du gui GUIEditBox zoneDeTexte=gui.AddEditBox("",new rect(new Position2D(1,1),new Position2D(100,20)),true,gui.RootElement,-1); GUIButton bouton=gui.AddButton(new rect(new Position2D(1,25),new Position2D(100,45)),gui.RootElement,-1,"Afficher"); //boucle de jeu while (device.Run()) { if(bouton.Pressed) { Console.WriteLine(zoneDeTexte.Text); } device.VideoDriver.BeginScene(true,true,Color.Blue); device.SceneManager.DrawAll(); gui.DrawAll(); device.VideoDriver.EndScene(); } device.Close();
Au moment du Console.WriteLine, rien de s'affiche, et en faisant un debug la propriété Text ne contient rien. Pourtant si je veux écrire quelque chose dans l'EditBox, ça fonctionne, mais la propriété Text reste vide.
Hors ligne
Je ne connais pas le C#, mais j'écrirais de mémoire un truc du genre (en C++):
editbox->setText( letexte);
non ?
soit en C# Console.setText( montext);
Hors ligne
Justement, mon problème c'est que la variable Text de l'EditBox est vide (null), même si il y a quelque chose d'afficher dedans.
Par contre, je ne sait pas si mon problème vient que j'utilise .NET CP, ou que le tuto que je regarde est pour le C++ (sur le Site du Zero).
Hors ligne
Et t'es sur que tu rentres ce if à un moment ?
if(bouton.Pressed) { Console.WriteLine(zoneDeTexte.Text); }
Parce que même si ça fait super longtemps que j'ai pas touché à Irrlicht, il me semble qu'il manque pleins de choses pour gérer les évênements dans ton code. Jette un coup d'oeil aux exemples qui sont fournis avec Irrlicht.NET CP, doit bien en avoir un sur la gestion des évênements
PS : le svn de Irrlicht.NET CP a pas l'air très actif (dernier commit en main 2008 apparement). Le projet est mort ?
Hors ligne
Je rentre bien dans le if (donc pas de problème de bouton).
Perceval :
le svn de Irrlicht.NET CP a pas l'air très actif (dernier commit en main 2008 apparemment). Le projet est mort ?
Me conseil-tu de passer en C++ ? (langage que j'ai abandonné plein de fois d'apprendre à cause de sa grande rigueur).
...si le projet est bien mort je vais devoir quand même m'y mettre.
Hors ligne