#0 

11-08-2009 13:03:34

thesus
Membre
Date d'inscription: 11-08-2009
Messages: 19
Corrections: 1

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:

Code:

//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


#1 

11-08-2009 18:43:50

tmyke
Administrateur
Date d'inscription: 24-03-2008
Messages: 1025

Je ne connais pas le C#, mais j'écrirais de mémoire un truc du genre (en C++):

Code:

  editbox->setText( letexte);

non ?

soit en C# Console.setText( montext);


Force et sagesse...

Hors ligne


#2 

11-08-2009 20:56:46

thesus
Membre
Date d'inscription: 11-08-2009
Messages: 19
Corrections: 1

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


#3 

12-08-2009 12:54:06

Perceval
Abonné
Date d'inscription: 20-10-2006
Messages: 105

Et t'es sur que tu rentres ce if à un moment ?

Code:

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


#4 

12-08-2009 13:16:02

thesus
Membre
Date d'inscription: 11-08-2009
Messages: 19
Corrections: 1

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


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
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
125 invités en ligne
Aucun membre connecté
RSS Feed