[DB-AL] Ecrire du texte

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
TTlaRage
Messages : 6
Inscription : 08 Août 2017 16:21
Localisation : Nulle Part s/ Rien

[DB-AL] Ecrire du texte

Message par TTlaRage » 16 Sep 2017 11:24

Bonjour, bonsoir
J'aimerais écrire un String lettre par lettre (avec une intervalle de temps entre chaque) mais je ne sais pas l'équivalence de charAt (java) pour le C#. Ca peut paraître débile mais je ne trouve pas. :rouge:
Merci pour votre aide !
"Le plus court chemin d'un point A à un point B, c'est de ne pas y aller"
Moi 2017

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB-AL] Ecrire du texte

Message par Max » 16 Sep 2017 12:11

Bonjour TTlaRage,
TTlaRage a écrit :
16 Sep 2017 11:24
je ne sais pas l'équivalence de charAt (java) pour le C#. Ca peut paraître débile mais je ne trouve pas. :rouge:
Je suppose que tu parles d'un accès à un caractère spécifique au sein d'une chaine.
En C# on pourrait écrire:

Code : Tout sélectionner

       String chaine = "une chaine";
       Debug.Log("troisième caractère: " + chaine[2]); // rappel, le premier étant le n°0
Sinon, pour le reste, la doc est ton ami.
Les bases en terme de fonctionnement : string (référence C#)
Toutes les méthodes de la classe: String classe.

Avec ça, tu devrais avoir tout ce qu'il te faut pour avancer ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

TTlaRage
Messages : 6
Inscription : 08 Août 2017 16:21
Localisation : Nulle Part s/ Rien

Re: [DB-AL] Ecrire du texte

Message par TTlaRage » 16 Sep 2017 15:56

Merci beaucoup Max, mais là je déséspère.
Voici mon code ou je veux que chaque lettre s'affiche l'une après l'autre et je comprends pas ce qu'il se passe ... il affiche tout d'un coup (en tout cas c'est mon impression) et je ne sais pas quoi faire :

Code : Tout sélectionner

    public string Ctxt;
    public Text ctxt;

	// Use this for initialization
	void Start () {
        Ctxt = "Le contexte de mon jeu ici";
        Anim();
	}
	public void Anim()
    {
        for(int i = 0; i < Ctxt.Length; i++)
        {
            char aff = Ctxt[i];
            ctxt.text = ctxt.text + aff;
            StartCoroutine(Wait());
        }
    }

    IEnumerator Wait()
    {
        yield return new WaitForSeconds(0.1f);

    }
"Le plus court chemin d'un point A à un point B, c'est de ne pas y aller"
Moi 2017

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB-AL] Ecrire du texte

Message par Max » 16 Sep 2017 16:22

arf, ben la à chaud j’écrirai plutôt (à vérifier, j'ai pas Unity sous les yeux):

Code : Tout sélectionner

   void Start()
    {
        Ctxt = "Le contexte de mon jeu ici";
        StartCoroutine(Anim());
    }

    IEnumerator Anim()
    {
        int i = 0;
        while (i < Ctxt.Length)
        {
            ctxt.text += Ctxt[i++];
            yield return new WaitForSeconds(0.2f);
        }
    }
J'ai repris les mêmes noms que toi, par contre attention dans le nommage de tes données, car entre Ctxt et ctxt, cela ne peut qu'apporter des soucis de lecture et donc d'erreur pour la suite.
Et de plus, par convention, on ne met pas de majuscule en première lettre sur les variables.
Voiloù ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Répondre

Revenir vers « (C#) CSharp »