> 백엔드 개발 > 파이썬 튜토리얼 > 내 PyGame 그림이 화면에 나타나지 않는 이유는 무엇입니까?

내 PyGame 그림이 화면에 나타나지 않는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-22 01:02:27
원래의
581명이 탐색했습니다.

Why Isn't My PyGame Drawing Appearing on Screen?

왜 PyGame에 그려진 것이 아무것도 보이지 않나요?

PyGame으로 작업할 때 디스플레이에 아무것도 그려지지 않는 문제가 흔히 발생합니다. 이는 답답하고 해결하기 어려울 수 있지만 해결책은 디스플레이 업데이트의 개념을 이해하는 데 있습니다.

표면과 디스플레이의 구별

PyGame은 표면 객체와 디스플레이라는 두 가지 표면에서 작동합니다. . Surface 객체에 대한 변경 사항은 디스플레이에 즉시 반영되지 않습니다. 이를 표시하려면 디스플레이를 명시적으로 업데이트해야 합니다.

디스플레이 업데이트 방법

PyGame은 디스플레이를 업데이트하는 두 가지 방법을 제공합니다:

  • pygame.display.update(): 디스플레이의 지정된 부분을 업데이트합니다. 이는 하드웨어 가속 디스플레이에 이상적입니다.
  • pygame.display.flip(): 전체 디스플레이를 업데이트합니다. 이 방법은 소프트웨어 전용 디스플레이에 권장됩니다.

문제 해결

아무 것도 그려지지 않는 문제를 해결하려면 Surface에서 그리기 작업을 수행한 후 디스플레이를 업데이트해야 합니다. 물체. 예는 다음과 같습니다.

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
로그인 후 복사

이제 프로그램이 실행될 때마다 회색 직사각형이 디스플레이에 표시되어야 합니다.

부드러운 디스플레이를 위한 팁

원활하고 일관된 PyGame 경험을 위해서는 다음 팁을 고려하십시오.

  • 메인 게임에 디스플레이 업데이트를 포함하세요 loop.
  • 하드웨어 가속 디스플레이에는 pygame.display.update()를 사용하고 소프트웨어 디스플레이에는 pygame.display.flip()을 사용하세요.
  • 아티팩트를 방지하려면 장면을 다시 그리기 전에 디스플레이를 지우십시오.

이를 구현하여 연습을 통해 PyGame 응용 프로그램이 정확하고 쉽게 표시되는지 확인할 수 있습니다.

위 내용은 내 PyGame 그림이 화면에 나타나지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿