1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| def AfficherTexte(self): #c'est une méthode d'une classe qui gère ça
fond=(255,193,172)
couleur=(42,56,255)
pygame.draw.rect(self.Ecran,fond,(0,0,990,660)) # j'efface l'écran
police=pygame.font.Font("Polices/quand_tu_dors.otf",40)
x=10 # je laisse des marges à gauche
y=10 # et en haut
while len(self.Texte)>0: # c'est une liste de lignes que je parcours
ligne=self.Texte[0].rstrip('\n\r')
ligne=ligne.decode('utf-8')
del self.Texte[0]
if ligne=="NEWPAGE":
x=10
y=10
br=False
for event in pygame.event.get():
pass # juste pour vider les événements en file d'attente
while not(br): # j'attends un clic pour passer à la page suivante
pygame.display.flip()
self.Temps.tick(30)
for event in pygame.event.get():
if event.type==MOUSEBUTTONUP:
pygame.draw.rect(self.Ecran,fond,(0,0,990,660))
ligne=self.Texte[0].rstrip('\n\r')
ligne=ligne.decode('utf-8')
del self.Texte[0]
br=True
break
mots=ligne.split(" ") # je sépare les mots
for mot in mots:
img=police.render(mot,1,couleur,fond)
w=img.get_width()
if x+w>980: # je regarde si c'est trop large
y+=img.get_height() # je descend d'une ligne
x=10 # et je reviens à gauche
self.Ecran.blit(img,(x,y))
x+=8+w # 8 pixels par espace
y+=img.get_height()
x=10
for event in pygame.event.get():
pass # vider
while 1: # on attend que la dernière page soit lue
pygame.display.flip()
self.Temps.tick(30)
for event in pygame.event.get():
if event.type==MOUSEBUTTONUP:
return |
Partager