• Etape 4 :Faire Parler nos Personnages

    ETAPE 4

     

    Le Module FONT de Pygame

     

    Celui-ci comme son nom l’indique permet d’afficher des caractères à l’écran.

    Si jamais on oublie d’initialiser les modules Pygame avec la commande,

     

    pygame.init()

             

    On se heurtera à un message d’erreur, nous disant qu’il n’y a pas de module font, donc il est important de ne pas oublier cette petite ligne en début de programme.

     

    La première chose à faire est de créer un objet Font(police) comme ceci :

     

    ma_police = pygame.font.SysFont (‘Arial’,16)

     

     # Attention aux Majuscules S et F de SysFont

     

    Nous créons un objet ‘ma_police’, qui utilisera le module SysFont de Pygame, ce module utilise les polices du système d’exploitation installé sur son ordinateur. Ici je choisis Arial, police de base, mais j’aurais pu choisir Verdana ou toute autre police système.

    La valeur 16 représente la taille de la police.

     

    J’aurais pu utiliser une police qui n’est pas une police système comme par exemple la police T4C Beaulieux ( souvenir ..souvenir) et j’aurais utiliser une autre forme d’importation :

     

    ma_police = pygame.font.Font (‘t4cbeaulieux.ttf’,16) 

     

    Maintenant que j’ai déclaré ma police je veux afficher du texte, je vais utiliser la methode ‘Render’ du module ‘Font’ de Pygame. Il faut savoir que Pygame créé automatiquement une surface pour afficher du texte.

     

    mon_texte = ma_police.render(‘Premier Test’,True, (0,0,0)¸(255,255,255)) 

     

    Détail des paramètres entre parenthèses :

    -        le texte a afficher, entre guillemets, ce texte doit être en une seule partie, si celui-ci est sur plusieurs lignes, il faudra faire des rendus de chaque ligne

    -       l’anti Aliasing : True ou False, pour l’activer ou non, permet d’avoir des lettres plus lisses

    -       (0,0,0) la première séquence de couleur , donnera le code couleur des lettres,

    -       (255,255,255) enfin la couleur du fond de la surface créée par Pygame, ici blanche, mais si on ne donne pas de valeur, celle-ci est considérée comme transparente.

     

     

    Vous pouvez faire des tests avec d’autres codes couleurs dont voici quelques valeurs :

     

    Blanc       = (255, 255, 255)

    Noir          = (  0,   0,   0)

    Rouge       = (155,   0,   0)

    Vert        = (  0, 155,   0)

    Bleu        = (  0,   0, 155)

    Jaune       = (155, 155,   0)

     

    import pygame,sys  

    from pygame import * 

     

    pygame.init() 

     

    screen = pygame.display.set_mode((800,600)) 

     

    ma_police = pygame.font.SysFont('Arial', 16) 

    mon_texte = ma_police.render('Premier essai',True, (0,0,0),(255,255,255)) 

     

    while True:             # Boucle principale du jeu 

       

               

        for event in pygame.event.get(): 

            if event.type == QUIT: 

                sys.exit() 

               

        screen.blit(mon_texte,(50,50))  

    pygame.display.flip()  

             

     

    Vous noterez que l’affichage du texte se fait avec la méthode Blit, car le texte créé par Pygame est une Surface.

     

    J’ai mis une valeur au hazard pour les coordonnées de l’affichage, mais on peut affecter une valeur variable pour par exemple que le texte se deplace en meme temps que notre héro en reprenant la position de celui-ci et en modifiant les valeurs de X et de Y pour que l’image et le texte ne se chevauchent pas . Nous y reviendront dans le chapitre « Notre premier PNJ »

     

    Voila pour les grandes ligne du module Font, c’est ce qui va permettre à nos personnages de discuter entre eux ;-)

      


    Tags Tags : , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :