据我所知,pygame.display是Electron 游戏的主要展示窗口.那么为什么pygame.display.fill()不能在我下面的代码中工作呢?

import pygame
pygame.init()

SCREEN_LENGTH = 800
SCREEN_WIDTH = 600

screen = pygame.display.set_mode((SCREEN_LENGTH, SCREEN_WIDTH))
run = True

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

    # change the background color
    **pygame.display.fill((0, 0, 255))**
    pygame.display.update()

pygame.quit()

推荐答案

pygame.display不是"主显示窗口",而是一个模块.pygame.disaply模块没有fill功能.fillpygame.Surface类的方法,因此只能使用实例对象pygame.Surface进行调用.pygame.display.set_mode初始化PYGAME窗口并返回pygame.Surface对象.调用pygams.disaply.updatepygame.disaply.flip时,在此pygame.Surface对象上绘制的所有内容都将与窗口同步.在初始化窗口之后,pygame.display.get_surface也返回相同的pygame.Surface对象.

因此

screen = pygame.display.set_mode((SCREEN_LENGTH, SCREEN_WIDTH))

# [...]

screen.fill((0, 0, 255))

可以替换为

pygame.display.set_mode((SCREEN_LENGTH, SCREEN_WIDTH))

# [...]

pygame.display.get_surface().fill((0, 0, 255))

然而,pygame.display.fill((0, 0, 255))没有任何意义,并且会导致错误.

Python相关问答推荐

正在设置字段.需要为假,因为错误列表索引必须是整数或切片,而不是字符串

使用pandas MultiIndex进行不连续 Select

如何使用scikit-learn Python库中的Agglomerative集群算法以及集群中声明的对象数量?

带有pandas的分区列上的过滤器的多个条件read_parquet

sys.modulesgo 哪儿了?

查找下一个值=实际值加上使用极点的50%

如何使用上下文管理器创建类的实例?

如何用symy更新分段函数

三个给定的坐标可以是矩形的点吗

为什么tkinter框架没有被隐藏?

根据另一列中的nan重置值后重新加权Pandas列

. str.替换pandas.series的方法未按预期工作

无法通过python-jira访问jira工作日志(log)中的 comments

什么相当于pytorch中的numpy累积ufunc

两个pandas的平均值按元素的结果串接元素.为什么?

numpy卷积与有效

Python+线程\TrocessPoolExecutor

如何从列表框中 Select 而不出错?

Python Tkinter为特定样式调整所有ttkbootstrap或ttk Button填充的大小,适用于所有主题

如何排除prefecture_related中查询集为空的实例?