Python+;皮加梅;screen.fill()使窗口崩溃
每当我试图在pygame代码中包含“screen.fill(insert value here)”,窗口就会立即崩溃。我可以把它注释掉,我的代码运行得很好。我真的不知道为什么 我试着移动这行代码,部分使用其他人的代码——运气不好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
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图像)
- 更新显示
导入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你没有在你的例子中快速播放图像;你只是在把它们载入记忆