Maison > développement back-end > Tutoriel Python > Pourquoi mes dessins PyGame n'apparaissent-ils pas ?

Pourquoi mes dessins PyGame n'apparaissent-ils pas ?

Mary-Kate Olsen
Libérer: 2024-12-15 15:48:15
original
514 Les gens l'ont consulté

Why Aren't My PyGame Drawings Appearing?

Pourquoi vous ne voyez peut-être rien dessiné dans PyGame

Bien que vous essayiez de restituer des objets dans votre application PyGame, les résultats peuvent apparaître incohérents ou absents. Pour comprendre pourquoi cela se produit, nous devons reconnaître la distinction entre dessiner sur une surface et mettre à jour l'affichage.

Dessiner sur une surface

Dans PyGame, vous dessinez généralement graphiques sur un objet de surface. L'écran que vous voyez dans votre application est en réalité une surface associée à l'affichage. Cependant, dessiner sur cette surface à lui seul ne la rend pas visible dans l'affichage réel.

Mise à jour de l'affichage

Pour afficher les modifications que vous apportez sur la surface, vous devez pour mettre à jour l'affichage. PyGame propose deux méthodes principales pour cela :

  • pygame.display.update() : met à jour uniquement une partie de l'écran.
  • pygame. display.flip() : Met à jour l'intégralité de l'affichage.

Dans votre cas spécifique, vous Vous avez dessiné un rectangle sur la surface, mais vous n'avez pas mis à jour l'affichage. En conséquence, les modifications restent invisibles.

Boucle d'application PyGame typique

Une application PyGame typique suit une boucle qui comprend :

  • Gestion des événements
  • Mises à jour de l'état du jeu
  • Surface effacement
  • Dessin de scène
  • Mise à jour de l'affichage
  • Limitation de la fréquence d'images

Voici un exemple de code mis à jour qui inclut la mise à jour d'affichage nécessaire :

import pygame
from pygame.locals import *

pygame.init()

DISPLAY = pygame.display.set_mode((800, 800))
pygame.display.set_caption("Thing")
clock = pygame.time.Clock()

run = True
while run:
    # Handle events
    for event in pygame.event.get():
        if event.type == QUIT:
            run = False

    # Clear display
    DISPLAY.fill(0)

    # Draw scene
    pygame.draw.rect(DISPLAY, (200, 200, 200), pygame.Rect(0, 400, 800, 400))

    # Update display
    pygame.display.flip()

    # Limit frames per second
    clock.tick(60)

pygame.quit()
exit()
Copier après la connexion

En intégrant la mise à jour de l'affichage, vous devriez désormais pouvoir voir correctement les objets dessinés dans votre candidature.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal