Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python+;皮加梅;screen.fill()使窗口崩溃_Python_Background_Pygame_Screen_Fill - Fatal编程技术网

Python+;皮加梅;screen.fill()使窗口崩溃

Python+;皮加梅;screen.fill()使窗口崩溃,python,background,pygame,screen,fill,Python,Background,Pygame,Screen,Fill,每当我试图在pygame代码中包含“screen.fill(insert value here)”,窗口就会立即崩溃。我可以把它注释掉,我的代码运行得很好。我真的不知道为什么 我试着移动这行代码,部分使用其他人的代码——运气不好 导入pygame pygame.init() win=pygame.display.set_模式((1000800)) pygame.display.set_标题(“俄罗斯方块”) img=pygame.image.load(“C:\\Users\\Charlotte\

每当我试图在pygame代码中包含“screen.fill(insert value here)”,窗口就会立即崩溃。我可以把它注释掉,我的代码运行得很好。我真的不知道为什么

我试着移动这行代码,部分使用其他人的代码——运气不好

导入pygame
pygame.init()
win=pygame.display.set_模式((1000800))
pygame.display.set_标题(“俄罗斯方块”)
img=pygame.image.load(“C:\\Users\\Charlotte\\Desktop\\tetris\u grid.png”)
win.blit(img,(450150))
运行=真
运行时:
屏幕填充(0,0,0)
pygame.display.update()
pygame.时间延迟(100)
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
pygame.quit()

当我使用该行运行代码时,窗口将打开,然后立即关闭。

如果试图用黑色填充屏幕,则颜色必须作为元组传递:

win.fill((0, 0, 0))
此外,您从未分配
屏幕
,可能您打算使用
win

颜色参数的文档必须是单个灰度值或由3个RGB或4个RGBA组件组成的元组。因此,它必须是:

win.fill(0)

win.fill((0,0,0))
此外,您还需要查看主循环中的图像。要在主应用程序循环中连续绘制场景,必须:

  • 处理事件
  • 清理窗户
  • 绘制场景(blit图像)
  • 更新显示
此外,我建议使用而不是tpo控制每秒的帧数

导入pygame
pygame.init()
win=pygame.display.set_模式((1000800))
pygame.display.set_标题(“俄罗斯方块”)
clock=pygame.time.clock()
img=pygame.image.load(“C:\\Users\\Charlotte\\Desktop\\tetris\u grid.png”)
运行=真
运行时:
时钟滴答(60)
#处理事件
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
#清除显示器
赢。填充(0)
#画场景
win.blit(img,(450150))
#更新显示
pygame.display.update()
pygame.quit()

控制台中是否没有错误?顺便说一句,你的循环永远不会结束,因为你要求在while循环中运行
,然后你改变了
run
。我不会称之为“工作正常”。不,没有。在这一点上,这段代码只是在pygame中显示一个图像,它就是这样做的。这是我程序的开始,不是一个正常运行的游戏。你应该在console/terminal/cmd.exe中运行它-就像
python script.py
-来查看错误。你初始化
屏幕了吗
?我也用双括号试过了,运气不好。我不是想把它变成黑色,这只是一个占位符值,因为我尝试了许多值-我想把它变成白色。好吧,你从不分配
屏幕
,尝试使用
win
。(更新答案)这是一个开始。它运行了,但我再也看不到我输入的任何图像了。你在使用macOS和PyGame1.9吗?您可能遇到以下问题:。这里有一些解决办法:@Charlotte你没有在你的例子中快速播放图像;你只是在把它们载入记忆