【问题标题】:Having trouble loading images with Pygame使用 Pygame 加载图像时遇到问题
【发布时间】:2018-08-28 00:09:03
【问题描述】:

我在导入图像时遇到问题。这是代码:

import pygame
pygame.init()

window = pygame.display.set_mode((500, 480))

pygame.display.set_caption("programing with pygame")

walkRight = [pygame.image.load('R1.png'), pygame.image.load('R2.png'), 
pygame.image.load('R3.png'),
         pygame.image.load('R4.png'), pygame.image.load('R5.png'), 
pygame.image.load('R6.png'),
         pygame.image.load('R7.png'), pygame.image.load('R8.png'), 
pygame.image.load('R9.png')]
walkLeft = [pygame.image.load('L1.png'), pygame.image.load('L2.png'), 
pygame.image.load('L3.png'),
        pygame.image.load('L4.png'), pygame.image.load('L5.png'), 
pygame.image.load('L6.png'),
        pygame.image.load('L7.png'), pygame.image.load('L8.png'), 
pygame.image.load('L9.png')]
bg = pygame.image.load('bg.jpg')
char = pygame.image.load('standing.png')

clock = pygame.time.Clock()

x = 50
y = 400
width = 64
height = 64
vel = 5
isJump = False
jumpCount = 10
left = False
right = False
walkCount = 0

def redrawGameWindow():
    global walkCount
    window.blit(bg, (0,0))

if walkCount + 1 >= 27:
    walkCount = 0
if left:
    window.blit(walkLeft[walkCount]//3, (x,y))
    walkCount += 1
elif right:
    window.blit(walkRight[walkCount]//3, (x,y))
    walkCount += 1
else:
    window.blit(char, (x,y))
    pygame.display.update()

#mainloop
run = True
while run:
    clock.tick(27)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT] and x > vel:
        x -= vel
        left = True
        right = False
    elif keys[pygame.K_RIGHT] and x < 500 - width - vel:
        x += vel
        right = True
        left = False
    else:
        right = False
        left = False
        walkCount = 0
    if not(isJump):
        if keys[pygame.K_SPACE]:
            isJump = True
            right = False
            left = False
            walkCount = 0
    else:
        if jumpCount >= -10:
            neg = 1
            if jumpCount < 0:
                neg = -1
            y -= (jumpCount ** 2) * 0.5 * neg
            jumpCount -= 1
        else:
            isJump = False
            jumpCount = 10
    redrawGameWindow()



pygame.quit()

这是错误信息:

Traceback (most recent call last):
File "C:\Users\Owner\AppData\Local\Programs\Python\Python37- 
32\pygametest.py", line 8, in <module>
    walkRight = [pygame.image.load('R1.png'), 
pygame.image.load('R2.png'), 
    pygame.image.load('R3.png'),
        pygame.error: Couldn't open R1.png

【问题讨论】:

  • 如果文件不存在或文件或路径名不正确,通常会发生这种情况。检查该文件是否实际存在(在这种情况下,它应该与您的pygametest.py 文件位于同一目录中)以及它的命名是否正确。
  • 如何放入同一个目录
  • 顺便说一句,将游戏文件放入 Python 目录不是一个好主意。只需在别处创建一个新目录即可。

标签: python image pygame loading


【解决方案1】:

您确定图像文件与您的 pygametest.py 位于同一文件夹中吗?如果没有,请将这些文件移动到 Python37-32 文件夹或更改 pygame.image.load() 位置。

例如... pygame.image.load('C:\Users\Owner\Desktop\R3.png')

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 2018-12-10
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    相关资源
    最近更新 更多