#1 

11-08-2009 11:03:34

thesus
Membres
Avatar de thesus
Date d'inscription:
Messages: 19
IP: 92.142.69.200
Courriel

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


#2 

11-08-2009 16:43:50

tmyke
Administrateurs
Avatar de tmyke
Date d'inscription:
Messages: 1025
IP: 86.218.254.214
Courriel

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);


Force et sagesse...

Hors ligne


#3 

11-08-2009 18:56:46

thesus
Membres
Avatar de thesus
Date d'inscription:
Messages: 19
IP: 92.131.84.104
Courriel

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


#4 

12-08-2009 10:54:06

Perceval
Membres
Avatar de Perceval
Date d'inscription:
Messages: 105
IP: 217.128.209.98
Courriel

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 smile

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


#5 

12-08-2009 11:16:02

thesus
Membres
Avatar de thesus
Date d'inscription:
Messages: 19
IP: 90.58.131.104
Courriel

Je rentre bien dans le if (donc pas de problème de bouton).

Perceval Ecris:

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


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