【发布时间】:2019-10-12 07:54:29
【问题描述】:
我正在学习一个非常基本的 pygame 教程,这是我以前做过的。我怀疑存在版本问题,尽管我不知道如何继续前进。
macOS 10.14.4
Python 3.7.2
pip 18.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
代码:
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((800,600))
surf = pygame.Surface((75,25))
surf.fill((125,125,125))
# What does this rect do?
rect = surf.get_rect()
running = True
while running:
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
running = False
elif event.type == QUIT:
running = False
screen.blit(surf, (400,300))
pygame.display.flip()
我唯一的问题是那个 rect 赋值是为了什么?我不能 blit 矩形,所以它似乎没有任何目的。
我浏览了其他几个教程,复制粘贴代码,每个教程都得到相同的结果:没有矩形的白屏。就好像显示代码有效,但任何其他表面都没有出现。
控制台中没有错误。我现在真的不确定如何调试。
【问题讨论】:
-
你是对的,
rect = surf.get_rect()没有用,因为rect没有在以下任何代码中使用。 AFAIK 鉴于没有任何改变表面surf,您会看到更正的输出。也许这段代码只是更高级/涉及的代码的开始,稍后将在教程中讨论和添加。