Maison > développement back-end > Tutoriel Python > Pourquoi mon dessin PyGame n'apparaît-il pas à l'écran ?

Pourquoi mon dessin PyGame n'apparaît-il pas à l'écran ?

Susan Sarandon
Libérer: 2024-12-22 01:02:27
original
628 Les gens l'ont consulté

Why Isn't My PyGame Drawing Appearing on Screen?

Pourquoi est-ce que je ne vois rien dessiné dans PyGame ?

Lorsque je travaille avec PyGame, il est courant de rencontrer le problème où rien n'est dessiné à l'écran. Cela peut être frustrant et difficile à résoudre, mais la solution réside dans la compréhension du concept de mise à jour de l'affichage.

La distinction Surface et Affichage

PyGame fonctionne sur deux surfaces : l'objet Surface et l'affichage. . Les modifications apportées à l'objet Surface ne sont pas immédiatement reflétées sur l'écran. Pour les rendre visibles, l'affichage doit être mis à jour explicitement.

Méthodes de mise à jour de l'affichage

PyGame propose deux méthodes pour mettre à jour l'affichage :

  • pygame.display.update() : met à jour une partie spécifiée de l'affichage. C'est idéal pour les affichages accélérés par le matériel.
  • pygame.display.flip() : met à jour l'intégralité de l'affichage. Cette méthode est recommandée pour les affichages logiciels uniquement.

Résolution du problème

Pour résoudre le problème de rien n'étant dessiné, l'affichage doit être mis à jour après avoir effectué des opérations de dessin sur la Surface. objet. Voici un exemple :

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import pygame, sys

from pygame.locals import *

pygame.init()

 

DISPLAY = pygame.display.set_mode((800,800))

pygame.display.set_caption("thing")

 

while True:

    for event in pygame.event.get():

        if event.type == QUIT:

            pygame.quit()

            sys.exit()

 

    DISPLAY.fill(0)  # Clear the display

    pygame.draw.rect(DISPLAY, (200,200,200), pygame.Rect(0,400,800,400))  # Draw a gray rectangle

 

    pygame.display.flip()  # Update the display

Copier après la connexion

Désormais, le rectangle gris devrait être visible à l'écran à chaque fois que le programme est exécuté.

Conseils pour un affichage fluide

Pour garantir Pour une expérience PyGame fluide et cohérente, tenez compte de ces conseils :

  • Incluez les mises à jour d'affichage dans votre jeu principal boucle.
  • Utilisez pygame.display.update() pour les affichages accélérés par le matériel et pygame.display.flip() pour les affichages logiciels.
  • Effacez l'affichage avant de redessiner la scène pour éviter les artefacts.

En mettant en œuvre ces pratiques, vous pouvez vous assurer que votre application PyGame s'affiche correctement et sans effort.

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