Pygame在简单程序中没有响应

2024-06-06 07:29:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始用pygame做一个游戏,我只是在那个点上,我应该有10*10个灰色方块。 当我启动程序时,方块出现,但程序没有响应。 剧本有什么问题吗?还是我的笔记本电脑性能有问题

import pygame
pygame.init()
win=pygame.display.set_mode((768,768))
left=50
up=50
difx=20
dify=20
sx=50
sy=50
grey=(90,90,90)
black=(0,0,0)
blue=(0,0,250)
def draw():
    pygame.Surface.fill(win,black)
    for x in range(0,100):
        pygame.draw.rect(win,grey,(left+x%10*(sx+difx),up+round((x-x%10)/10)*(sy+dify),sx,sy))
    pygame.display.update()
while True:
    pygame.time.delay(100)
    draw()

Python 3.7版 视窗10


Tags: 程序游戏displayleftpygamewin方块grey
1条回答
网友
1楼 · 发布于 2024-06-06 07:29:01

你可以试试这个

import pygame

def main():
    pygame.init()
    win=pygame.display.set_mode((768,768))
    left=50
    up=50
    difx=20
    dify=20
    sx=50
    sy=50
    grey=(90,90,90)
    black=(0,0,0)
    blue=(0,0,250)
    def draw():
        pygame.Surface.fill(win,black)
        for x in range(0,100):
            pygame.draw.rect(win,grey,(left+x%10*(sx+difx),up+round((x-x%10)/10)*(sy+dify),sx,sy))

    while True:
        for e in pygame.event.get():
            if e.type == pygame.QUIT:
                return 
            pygame.display.update()
            draw()

if __name__ == '__main__':
    main()

您缺少一个for e in pygame.event.get():

相关问题 更多 >