python bibliothèque pygame: centrer le texte
J'ai un code:
# draw text
font = pygame.font.Font(None, 25)
text = font.render("You win!", True, BLACK)
screen.blit(text, [SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2])
Comment puis-je obtenir le texte de la largeur et de la hauteur des méthodes comme en java, donc je peux centrer le texte comme:
screen.blit(text, [SCREEN_WIDTH / 2 - text_w / 2, SCREEN_HEIGHT / 2 - text_h / 2])
Si ce n'est pas possible, ce qui est une autre façon ?
J'ai trouvé cette exemple, mais je n'ai pas vraiment le comprendre.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir les dimensions du texte rendu de l'image à l'aide de
text.get_rect()
, qui renvoie un Rect objet avecwidth
etheight
attributs, parmi d'autres (voir le lié de la documentation pour une liste complète). I. e. vous pouvez simplement fairetext.get_rect().width
.Vous pouvez toujours centre le texte rectangle lorsque vous l'attrapez:
juste une autre option
Texte rendu est blitted sur une surface transparente dans Pygame. Ainsi, vous pouvez utiliser les méthodes de la surface de la classe décrite ici:
http://www.pygame.org/docs/ref/surface.html#pygame.Surface.get_width
Donc pour vous, la suivante devrait fonctionner:
texte.get_width()
texte.get_height()
J'ai utilisé ces 2 méthodes pour écrire dans le centre