Contrôle de Saisie d'un TextField

Questions à propos du GUI, y compris la partie script.
Avatar de l’utilisateur
babator
Messages : 59
Inscription : 30 Nov 2009 15:58

Contrôle de Saisie d'un TextField

Message par babator » 08 Jan 2010 17:34

Bonjour,
Je me demandais comment faire un contrôle de saisie sur un TextField sous Unity en C#.
J'aimerais que l'utilisateur ne puisse entrer que des chiffres dans le TextField ou utiliser la touche delete et supr.
Savoir aussi si il existait une fonction qui permet ça .

Avatar de l’utilisateur
giyomuSan
Messages : 1799
Inscription : 09 Déc 2009 14:52
Localisation : Japon

Re: Contrôle de Saisie d'un TextField

Message par giyomuSan » 09 Jan 2010 00:42

pour ca je pense que tu peux utiliser simplement les fonction propres au C# sans forcement passer pas l API d unity, qui je pense ne couvre pas toutes ces fonctionnliatees pour les strings (a verifier dans l API).

Et utiliser des "Regular Expression" comme ca s'utilise pour de la prog web en Perl ou Php, en definissant les strings qui peuvent etre saisi ou pas dans le champs.

voila quelques liens qui traite du sujet en C#.

http://msdn.microsoft.com/en-us/library ... 71%29.aspx
http://www.c-sharpcorner.com/UploadFile ... xpPSD.aspx

bonne lecture ;)

Avatar de l’utilisateur
babator
Messages : 59
Inscription : 30 Nov 2009 15:58

Re: Contrôle de Saisie d'un TextField

Message par babator » 10 Jan 2010 14:08

Le problème c'est que Mono ne gère pas les System.Windows.form qui permettent de gérer les contrôles de saisie. Mais Krys vient de poster un truc assez sympa je testerai demain aprem :D

Avatar de l’utilisateur
babator
Messages : 59
Inscription : 30 Nov 2009 15:58

Re: Contrôle de Saisie d'un TextField

Message par babator » 11 Jan 2010 13:18

Bon j'ai cherché des info sur les Regular Expression comme tu m'as conseillé Giyomu et ça marche super bien! En fait il va reconnaitre à chaque frame si tu as tapé des chiffres ou pas si ce n'est pas un chiffre il l'efface! Voilà le code si ça peut aider qqun:

Code : Tout sélectionner

using UnityEngine;
using System.Text.RegularExpressions;

private string onlyNumbers = "";

void OnGUI()
{
width = GUI.TextField(new Rect(30, 110, 30, 20), width, 3);
onlyNumbers= Regex.Replace(onlyNumbers, "[^0-9]", "");
} 

Avatar de l’utilisateur
babator
Messages : 59
Inscription : 30 Nov 2009 15:58

Re: Contrôle de Saisie d'un TextField

Message par babator » 11 Jan 2010 13:19

tout le monde aura compri qu'il faut remplacer width par onlynumber hein! :lol:

Avatar de l’utilisateur
giyomuSan
Messages : 1799
Inscription : 09 Déc 2009 14:52
Localisation : Japon

Re: Contrôle de Saisie d'un TextField

Message par giyomuSan » 11 Jan 2010 14:25

tu va devenir le Yoda des GUI unity , apres on saura qui aller embetter si on est comme des glands avec nos GUI :lol:


Répondre

Revenir vers « L'interface GUI »