Python.exe在交互式shell中运行时不响应,与pygame一起使用

Python.exe在交互式shell中运行时不响应,与pygame一起使用,python,animation,pygame,Python,Animation,Pygame,我正在使用默认的pythonidle和Pygame制作一个游戏。我正在创建一个简单的cat动画,但在尝试运行模块时出现了一个问题。一个黑屏刚刚出现,标题只是说“动画没有响应”,下面我列出了用于此动画的代码。谢谢你的帮助! 谢谢,刚刚编辑过,这个好看吗 import pygame, sys from pygame.locals import * pygame.init() FPS = 30 fpsClock = pygame.time.Clock() # set up the window

我正在使用默认的pythonidle和Pygame制作一个游戏。我正在创建一个简单的cat动画,但在尝试运行模块时出现了一个问题。一个黑屏刚刚出现,标题只是说“动画没有响应”,下面我列出了用于此动画的代码。谢谢你的帮助! 谢谢,刚刚编辑过,这个好看吗

import pygame, sys
from pygame.locals import *

pygame.init()

FPS = 30
fpsClock = pygame.time.Clock()

# set up the window
DISPLAYSURF = pygame.display.set_mode((400, 300), 0, 32)
pygame.display.set_caption('Animation')

WHITE = (255, 255, 255)
catImg = pygame.image.load('cat.png')
catx = 10
caty = 10
direction = 'right'

while True: # the main game loop
    DISPLAYSURF.fill(WHITE)

    if direction == 'right':
        catx += 5
        if catx == 280:
            direction = 'down'
    elif direction == 'down':
        caty += 5
        if caty == 220:
            direction = 'left'
    elif direction == 'left':
        catx -= 5
        if caty == 10:
            direction = 'up'
    elif direction == 'up':
        caty -= 5
        if caty == 10:
            direction = 'right'
            DISPLAYSURF.blit(catImg, (catx, caty))

            for event in pygame.eventget():
                if event.type == QUIT:
                    pygame.exit()
                    sys.exit()

            pygame.display.update()
            fpsClock.tick(FPS)

你可以重新编辑你的文章,在最后有一个链接

问题是事件处理永远不会运行,除非
direction==“up”
caty==10
。然后窗口停止响应,因为它无法获取消息

while True: # the main game loop
    # events 
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.exit()
            sys.exit()

    # movement
    # ... snip ...

    # drawing
    DISPLAYSURF.fill(Color("white"))

    DISPLAYSURF.blit(catImg, (catx, caty))

    pygame.display.update()
    fpsClock.tick(FPS)

你可以重新编辑你的文章,在最后有一个链接

问题是事件处理永远不会运行,除非
direction==“up”
caty==10
。然后窗口停止响应,因为它无法获取消息

while True: # the main game loop
    # events 
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.exit()
            sys.exit()

    # movement
    # ... snip ...

    # drawing
    DISPLAYSURF.fill(Color("white"))

    DISPLAYSURF.blit(catImg, (catx, caty))

    pygame.display.update()
    fpsClock.tick(FPS)

请修复你的缩进。我看不出任何问题,顺便说一句,我是新来的。请指出哪里?:)如果你看你的问题,你会发现所有的制表符/缩进都丢失了,这使得你的代码无法命名。如果无法运行代码,任何人都无法帮助您。(你可以点击问题左下角的“编辑”对文章进行修改。)如果问题很可能是
update
函数在事件循环之外而不是内部,那么正确的缩进尤其重要……感谢所有的输入,我改了,希望它更好。请修复你的缩进。我看不出任何问题,顺便说一句,我是新来的。请指出哪里?:)如果你看你的问题,你会发现所有的制表符/缩进都丢失了,这使得你的代码无法命名。如果无法运行代码,任何人都无法帮助您。(你可以点击问题左下角的“编辑”来修改你的帖子。)如果问题很可能是
update
函数在事件循环之外,而不是在事件循环之内,那么正确的缩进就显得尤为重要……感谢所有的输入,我已经对它进行了修改,希望它会更好。