我是pygame的新手并且正在复制一个简单的教程。我正在使用python 3.4.2。但我遇到了几个问题。这是我的代码:
import pygame
pygame.init()
screen = pygame.display.set_mode((640,480))
class Game(object):
def main(self,screen):
clock = pygame.time.Clock()
image = pygame.image.load('player.png').convert()
image_x=320
image_y=240
while True:
clock.tick(30)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
if event.type == pygame.KEYDOWN and event.key== pygame.K_ESCAPE:
pygame.quit()
image_x+=10
screen.fill((200,200,200))
screen.blit(image,(320,240))
screen.blit(image,(image_x,image_y))
pygame.display.flip()
if __name__ == '__main__':
pygame.init()
screen=pygame.display.set_mode((640,480))
Game().main(screen)
第一个问题是我收到错误声明"无法打开player.png"我将此图像保存在与.py游戏程序相同的文件夹中。其次,当我尝试退出游戏时,pygame窗口冻结并停止响应。
答案 0 :(得分:1)
经过一些调试后,图像文件实际上是在子文件夹中。要加载图片,您需要通过更改此行来提供更准确的文件路径
image = pygame.image.load('player.png').convert()
像这样:
image = pygame.image.load('subfolder' + os.sep + 'player.png').convert()
不要忘记在文件顶部添加import os
行,以便使用os.sep
命令,这会使目录分隔符跨平台。