Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何修复';不能';t打开C:\GAME\R1.png';在游戏中?_Python_Pygame - Fatal编程技术网

Python 如何修复';不能';t打开C:\GAME\R1.png';在游戏中?

Python 如何修复';不能';t打开C:\GAME\R1.png';在游戏中?,python,pygame,Python,Pygame,我正在尝试学习如何使用python和pygame制作一个游戏,但我对这方面还很陌生,所以我无法理解答案中与我自己的问题类似的行话 我正在跟踪YouTube上一个名为Tech With Tim的视频播放列表,我需要为游戏中的角色使用一些图像,但这些图像根本无法加载,并不断出现“无法打开C:\game\R1.png” 它们已经在同一个文件夹中,为什么会让人如此困惑。根据我的理解,所有图像的名称都是正确的(即,它们都具有以下代码中使用的名称: import pygame pygame.init()

我正在尝试学习如何使用python和pygame制作一个游戏,但我对这方面还很陌生,所以我无法理解答案中与我自己的问题类似的行话

我正在跟踪YouTube上一个名为Tech With Tim的视频播放列表,我需要为游戏中的角色使用一些图像,但这些图像根本无法加载,并不断出现“无法打开C:\game\R1.png”

它们已经在同一个文件夹中,为什么会让人如此困惑。根据我的理解,所有图像的名称都是正确的(即,它们都具有以下代码中使用的名称:

import pygame

pygame.init()

win = pygame.display.set_mode((500, 480))
pygame.display.set_caption("First Game")

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

x = 50
y = 425
width = 64
height = 64
vel = 5

clock = pygame.time.Clock()

isJump = False
jumpCount = 10

left = False
right = False
walkCount = 0


def redrawGameWindow():
    global walkCount

    win.blit(bg, (0, 0))
    if walkCount + 1 >= 27:
        walkCount = 0

    if left:
        win.blit(walkLeft[walkCount // 3], (x, y))
        walkCount += 1
    elif right:
        win.blit(walkRight[walkCount // 3], (x, y))
        walkCount += 1
    else:
        win.blit(char, (x, y))
        walkCount = 0

    pygame.display.update()


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 - vel - width:
        x += vel
        left = False
        right = True

    else:
        left = False
        right = False
        walkCount = 0

    if not (isJump):
        if keys[pygame.K_SPACE]:
            isJump = True
            left = False
            right = False
            walkCount = 0
    else:
        if jumpCount >= -10:
            y -= (jumpCount * abs(jumpCount)) * 0.5
            jumpCount -= 1
        else:
            jumpCount = 10
            isJump = False

    redrawGameWindow()

pygame.quit()
导入pygame
pygame.init()
win=pygame.display.set_模式((500480))
pygame.display.set_标题(“第一场游戏”)
walkRight=[pygame.image.load('C:\GAME\R1.png')、pygame.image.load('C:\GAME\R2.png')、pygame.image.load('C:\GAME\R3.png'),
pygame.image.load('C:\GAME\R4.png')、pygame.image.load('C:\GAME\R5.png')、pygame.image.load('C:\GAME\R6.png'),
pygame.image.load('C:\GAME\R7.png')、pygame.image.load('C:\GAME\R8.png')、pygame.image.load('C:\GAME\R9.png')]
walkLeft=[pygame.image.load('C:\GAME\L1.png')、pygame.image.load('C:\GAME\L2.png')、pygame.image.load('C:\GAME\L3.png'),
pygame.image.load('C:\GAME\L4.png')、pygame.image.load('C:\GAME\L5.png')、pygame.image.load('C:\GAME\L6.png'),
pygame.image.load('C:\GAME\L7.png')、pygame.image.load('C:\GAME\L8.png')、pygame.image.load('C:\GAME\L9.png')]
bg=pygame.image.load('C:\GAME\bg.jpg')
char=pygame.image.load('C:\GAME\standing.png')
x=50
y=425
宽度=64
高度=64
水平=5
clock=pygame.time.clock()
isJump=False
跳数=10
左=假
右=假
步行次数=0
def重画游戏窗口():
全局步行计数
赢。布利特(背景,(0,0))
如果walkCount+1>=27:
步行次数=0
如果留下:
blit(walkLeft[walkCount//3],(x,y))
步行次数+=1
埃利夫权利:
win.blit(walkRight[walkCount//3],(x,y))
步行次数+=1
其他:
win.blit(char,(x,y))
步行次数=0
pygame.display.update()
运行=真
运行时:
时钟滴答作响(27)
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
keys=pygame.key.get_pressed()
如果键[pygame.K_LEFT]和x>vel:
x-=水平
左=真
右=假
elif键[pygame.K_RIGHT]和x<500-水平-宽度:
x+=vel
左=假
右=真
其他:
左=假
右=假
步行次数=0
如果不是(isJump):
如果键[pygame.K_SPACE]:
isJump=True
左=假
右=假
步行次数=0
其他:
如果跳线计数>=-10:
y-=(跳数*绝对值(跳数))*0.5
跳转计数-=1
其他:
跳数=10
isJump=False
重画游戏窗口()
pygame.quit()
我希望看到游戏加载和运行,但是出现了错误“无法打开C:\game\R1.png”


非常感谢您的帮助!

首先,请确保这是指向您的文件的良好路径。
此外,您应该使用“/”而不是“\”。您的路径应该是:“C:/GAME/R1.png”

不确定这是否是此特定实例中的问题。但请尝试使用
C:\\GAME\\R1.png
来代替。因为Python将避免反斜杠。但根据错误消息,这可能不是唯一的问题,仍然值得确定。或者使用原始的st未经解析就响铃:
r'C:\GAME\R1.png'
另外,考虑使用带有预加载图像的数组来代替:)那么,硬盘根目录的游戏文件夹中是否有一个名为R1.png的文件?在其他任何地方以该名称命名的文件都是无用的。