====== Processing : afficher du texte ======
==== Présentation ====
Votre programme doit lire un fichier texte et l'afficher ligne par ligne.
L'instruction Processing pour afficher du texte est **text("texte à afficher",x,y)**
**A faire :** crée ce nouveau programme qui affiche le contenu du fichier **cigale.txt**. Ce fichier **cigale.txt** doit être dans le même dosier que ton projet.
# définir une variable globale qui contiendra le contenu du texte
contenu= 0
def setup():
    # utiliser la variable globale contenu
    global contenu
    # taille de la fenêtre
    size(400,400)
    frameRate(5)
    
    #lecture du contenu du fichier
    fichier=open('cigale.txt','r')
    contenu=fichier.read()
    fichier.close() 
  
def draw():
    # utiliser la variable globale contenu
    global contenu 
    background(255)
    fill(0) # équivalent à fill(0,0,0) 
    # affiche tout le texte 
    text(contenu,10,10)
 
Pour **personnaliser** l'affichage du texte vous pouvez : 
   * changer la **taille** de la police de caractère avec la fonction **textSize(x)**,
   * changer la **justification** avec la fonction **textAlign(paramètre)** et les paramètres suivants : 
     * LEFT valeur par défaut,
     * RIGHT, 
     * CENTER
Modification de la fonction **draw()** pour afficher le texte, centré, avec une taille de 16 et une couleur verte :
    # couleur du texte 
    fill(100, 255, 50)
    # taille du texte
    textSize(16)
    # centrage du texte
    textAlign(CENTER)
    # affiche tout le texte
    text(contenu,200,50)
Tout le texte n'est pas affiché car il est trop long.
==== Affichage du texte ligne par ligne ====
La variable **contenu** contient l'ensemble du texte. En appliquant la méthode **split()**, il est possible de **découper** tout le texte en précisant quel caractère doit être utilisé pour cela : 
  * on pourrait faire un **découpage avec le point**, qui délimite la fin d'une phrase ,
  * mais ici c'est le caractère **retour à la ligne** qui doit être utilisé. Ce caractère n'est pas affiché mais est utilisé pour passer à la ligne suivante. Le marque de fin de ligne se note **\n**.
Le résultat de la méthode **split()** retourne un **tableau** avec les différents éléments trouvés. IL ne reste alors qu'à afficher un nouvel élément du tableau à chaque appel de la fonction **draw()**. 
 
**A faire :** modifie le programme précédent pour afficher le texte ligne par ligne :
# définir une variable globale qui contiendra le tableau des lignes du texte
tableau = []
# variable pour compter les lignes
ligne=0
def setup():
    # utiliser la variable globale tableau
    global tableau
    # taille de la fenêtre
    size(400,400)
    frameRate(1)
 
    #lecture du contenu du fichier
    fichier=open('cigale.txt','r')
    contenu=fichier.read()
    # découpage ligne par ligne
    tableau=contenu.split("\n")
    fichier.close() 
 
def draw():
    # utiliser les variables globales tableau et ligne
    global tableau, ligne 
    background(255)
    fill(0)
    # affiche une ligne du tableau 
    text(tableau[ligne],10,50)
    # passer à la ligne suivante si on n'est pas à la dernière ligne
    if ligne < len(tableau) - 1 :
        ligne = ligne + 1 
==== Projet Processing ... ====
  * [[icn:facultatif::p_processing|Projet Processing : du texte et des images]]