Est-il possible de les “effacer” une surface?
Est-il un moyen de nettoyer la surface de ce qui a été blitted à elle?
- Lesquelles la boîte à outils utilisez-vous? Tk, Qt, Gtk, WxWidgets?
- TkInter, je suppose, ou je ne sais pas vraiment? Im en utilisant pygame pour tous mes graphiques.
- Oui, il y a certainement un moyen.
- Si c'est pygame: pourquoi ne pas vous suffit de remplir la surface avec une couleur unie (c'est lié à une méthode de remplissage)....
- Si vous êtes à l'aide de pygame, alors s'il vous plaît mettre à JOUR la question de réellement dire que vous êtes à l'aide de pygame.
Vous devez vous connecter pour publier un commentaire.
Quand je ne se soucient de la performance, j'utilise:
Qui mettra de la couleur spécifiée (noir, dans ce cas) sur toute la surface. C'est ce que tu entend par "clair"?
Oh, et vous devez, bien sûr, de "flip" de la surface après avoir fait cela pour qu'elle soit visible sur l'écran.
Je ne sais pas ce que l'API que vous utilisez, voici donc une réponse vague:
Dans pratiquement tous les cas de "compensation" d'une surface simplement blits une couleur quad de la même taille que la surface sur elle. La couleur est tout ce que vous voulez que votre couleur claire d'être.
Si vous savez comment faire blit, juste blit un blanc quad de la même taille sur la surface.
Vous ne pouvez pas annuler un graphique écrit au-dessus d'un autre graphique, pas plus que vous pouvez annuler une craie illustration dessinée sur le dessus de l'autre à la craie illustration sur la même carte.
Ce qui est généralement fait dans les graphiques est ce que vous feriez avec le tableau - pour effacer l'ensemble du lot, et la prochaine fois, seulement redessiner ce que vous souhaitez conserver.
J'ai eu ce problème aussi,
Pour créer la surface:
Pour effacer de la surface:
Tracer vos lignes/images etc
Puis blit cette surface sur le principal de votre surface à l'aide de l'Alpha de Mélange de drapeau
Si ce que vous voulez est de faire un pygame objet de Surface "propre", c'est-effacement de toutes les images blited à elle, blit de nouvelles images pour chaque boucle de jeu et de garder le peer pixel alpha sans la création d'une nouvelle surface, vous pouvez le remplir, mais au lieu d'une couleur solide, utiliser une couleur transparente
*Désolé mon anglais est mauvais, encore en apprentissage
.fill((255,255,255,0))
semble fonctionner pour moi de toute façon.Pour pygame vous pouvez utiliser Surface.remplir
Remplir la surface à remplir, puis de la rendre transparente avec set_alpha
J'ai utilisé les éléments suivants dans un jeu que j'ai fait: