python - 在 pygame 中显示表面时出现问题
问题描述
所以我尝试创建一个带有白色背景和蓝色矩形的窗口。在我运行模块后,窗口成功弹出,我的调试信息表明 main 完成也打印给了顾问。但是,我的背景仍然是黑色的,矩形根本没有出现。关于为什么会发生这种情况的任何建议?谢谢!
pygame.init()
running = True
screen = pygame.display.set_mode((640,480))
WHITE=(255,255,255)
BLUE=(0,0,255)
def main():
screen.fill(WHITE)
my_rect = pygame.Surface( (100,100) )
my_rect.fill(BLUE)
screen.blit(my_rect, [50, 50])
pygame.draw.rect(screen,WHITE,(200,150,100,50)) # Second attempy to draw a
# rectangle
print ("Main statements executed") # My debugging line
解决方案
display.flip
您需要通过调用该函数来刷新显示。
只需pygame.display.flip
在对矩形进行 blitting 后添加,就可以了:
screen.blit()
pygame.display.flip()
推荐阅读
- python - 如何将谷歌应用引擎的“软内存限制”增加到 2gb 以上
- javascript - 无法提交 Braintree 并出现验证错误
- loops - 迭代文件中的行时如何在匹配之前和之后输出行?
- javascript - 访问下拉列表的 DOM 元素
- javascript - 我怎样才能开发一个没有跳跃的响应式和粘性导航栏?
- css - 如何激活标签按钮?
- r - 在 R 中定义新的控制流构造的语法?
- java - Array Try Catch 无法识别 if 语句中的数组长度
- android - 将图像从 Angular 8 和 NativeScript 上传到 Rails ActiveStorage
- python - Win32com、Python 和 AutoCAD 的变体错误