Pygame importer une police d'écriture
Résolu
Alex
-
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 24281 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, je n'arrive pas à utiliser une police d'écriture sur mon script. Il s'agit d'une police dont le fichier ttf est dans le même dossier que mon programme python. j'ai réussi à importer la police mais la console me met une erreur: "TypeError: argument 1 must be pygame.Surface, not tuple"
voici mon code pour importer la police d'écriture et afficher un texte:
Je ne comprend pas de quoi parle l'erreur, et je ne sait pas comment résoudre ce problème.
voici mon code pour importer la police d'écriture et afficher un texte:
font = pygame.freetype.Font("Volter.ttf", 40)
screen.blit(font.render("Texte", False, (255, 255, 255)),(120, 900))
Je ne comprend pas de quoi parle l'erreur, et je ne sait pas comment résoudre ce problème.
A voir également:
- Police d'écriture cartier
- Police écriture facebook - Guide
- Ecriture en gras - Guide
- Police d'écriture facture - Forum Windows
- Police d'écriture certificat médical ✓ - Forum Graphisme
- Police aptos - Accueil - Bureautique
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
peux-tu partager du code que nous pouvons tester?
peux-tu partager du code que nous pouvons tester?
import pygame import pygame.freetype pygame.init() screen = pygame.display.set_mode((1000, 800)) font = pygame.freetype.Font("Volter.ttf", 30) while True: pygame.display.flip() screen.blit(font.render("Texte", False, (255, 255, 255)), (0, 0)) for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit()par contre il vous faut un fichier ttf nomé Volter
Je n'ai pas du tout la même erreur que toi...
J'ai celle-ci :
Et normal puisque si on regarde ce que demande comme paramètres à fournir via , on a :
render(...) method of _freetype.Font instance render(text, fgcolor=None, bgcolor=None, style=STYLE_DEFAULT, rotation=0, size=0) -> (Surface, Rect) Return rendered text as a surfaceEn fait, ton erreur est dû au fait que cette fonction retourne un tuple surf + rect.
screen.blit(font.render("Texte", False, (255, 255, 255)), (0, 0)),je suggère:txt,r=font.render("Texte", False, (255, 255, 255)) screen.blit(txt, (0, 0))