Comment faire pour supprimer/remplacer du texte dans pygame
Je suis assez nouveau dans pygame et j'ai touché mon premier moignon sur lequel je ne trouve pas de réponse..
Après blitting texte, puis en modifiant la chaîne pour la même variable, le jeu au lieu de remplacer le texte original avec la nouvelle, chevauche les deux textes..?
OriginalL'auteur Krazyhornet | 2012-05-06
Vous devez vous connecter pour publier un commentaire.
Vous devez effacer le texte ancien en premier. Les Surfaces créée par
Font.render
sont des surfaces ordinaires. Une fois unSurface
est blit, son contenu devient une partie de la surface de destination, et vous devez manipuler les destination surface pour effacer tout ce qui a été blit à partir de la source de la surface.Une manière d'effacer de la surface de destination est blit une surface de fond sur elle. La surface de fond est que la surface de destination ressemblerait sans rien de tel texte ou les images-objets sur elle. Une autre façon est de remplir la surface avec une couleur unie:
screen.fill(pygame.Color("black"), (0, 0, 110, 40))
OriginalL'auteur Devourant
Il peut y avoir une autre solution, même si elle n'est pas très différent.
La réponse précédente efface tout l'écran, mais vous pouvez effacer l'intégralité de votre texte.
Si c'est écrit sur une image, vous permettra de remplacer une partie seulement de l'image, par l'obtention de la taille du texte et le blitting le correspondant de la partie de l'image (pygame.surface.en subsurface, de la fonction).
Ou si elle ne l'est pas, vous pouvez vous suffit de remplir une partie de l'écran.
Dans ce cas, vous aurez juste effacer le contenu de votre texte.
OriginalL'auteur seb
Vous pouvez également remplacer votre texte.
Comme ceci:
OriginalL'auteur Dazwenn