Python没有响应。我试图在Windows上编写一些基本代码

时间:2013-07-08 21:49:48

标签: python pygame

所以,我写了这段代码,它确实应该有效。主要问题是代码在打开窗口并运行时就停止响应。

bif = "back.jpeg"
mif = "image2.png"

import pygame, sys
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode((640,360),0,32)

background = pygame.image.load(bif).convert()
mouse_c = pygame.image.load(mif).convert_alpha()

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit
            sys.exit()

    screen.blit(background,(0,0))

    x,y = pygame.mouse.get_pos()
    x -= mouse_c.get_width()/2
    y -= mouse_c.get_height()/2

    screen.blit(mouse_c, (x,y))

    pygame.display.update()

另外,我在IDLE中收到此错误。

Traceback (most recent call last):
  File "C:\Users\Liam\Documents\game\Game", line 10, in <module>
    background = pygame.image.load(bif).convert()
error: Couldn't open back.jpeg

2 个答案:

答案 0 :(得分:1)

当您运行代码时,您必须确保它在正确的工作目录中运行。这就是为什么它找不到图像的原因。

由于您在IDLE中运行代码,终端可能会使进程保持活动状态,以便在错误发生后窗口不会关闭(如果程序终止,则会关闭)。由于它没有定期运行event.get,因此Windows会注意到它没有响应,而且这是你得到的。

要找出运行脚本的目录,请输出os.getcwd()的输出。

如果您不想摆弄路径并让它运行,为什么不立即为图像设置绝对路径,例如&#34; C:\ Users \ My Name \ Projects \ Python \ back.jpeg&#34;

答案 1 :(得分:0)

pygame.quit
sys.exit

应该是

pygame.quit()
sys.exit()

screen.blit(mouse_c(x,y))

应该是

screen.blit(mouse_c, (x,y))

您也可能希望将其限制为每秒一定的最大帧数(教程涵盖此内容)