Python 3.x 为什么我的PyGame图像存储在程序本地而没有加载?

Python 3.x 为什么我的PyGame图像存储在程序本地而没有加载?,python-3.x,pygame,Python 3.x,Pygame,所有图像都在游戏文件夹中。(使用mac) 我没有得到任何错误,但图像只是不加载。只是一个普通的白色屏幕 我已经尝试了一切,现在我可能会放弃。我求求你,求求你,求求你帮帮我 我的程序是超长的,我知道我所要求的是疯狂的,但我已经尝试修复这个问题超过2周了 我希望我犯了一个小错误,这不是一个更大的问题 对不起 import pygame pygame.init() display_width = 800 display_height = 600 black = (0,0,0) white =

所有图像都在游戏文件夹中。(使用mac) 我没有得到任何错误,但图像只是不加载。只是一个普通的白色屏幕

我已经尝试了一切,现在我可能会放弃。我求求你,求求你,求求你帮帮我

我的程序是超长的,我知道我所要求的是疯狂的,但我已经尝试修复这个问题超过2周了

我希望我犯了一个小错误,这不是一个更大的问题

对不起

import pygame
pygame.init()



display_width = 800
display_height = 600

black = (0,0,0)
white = (255,255,255)
red = (255,0,0)
green = (0,255,0)

gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Hack Attack')
clock = pygame.time.Clock()



charUp = pygame.image.load('StandUp.png') #Can also be used for down
charDown = pygame.image.load('StandUp.png')
charLeft = pygame.image.load('StandLeft.png') #Can also be used for right
charRight = pygame.image.load('StandLeft.png')
UpFor1 = pygame.image.load('Upfor1.png') #Can also be used for Down Forward 2
DownFor2 = pygame.image.load('Upfor1.png')
UpFor2 = pygame.image.load('UpFor2.png')
DownFor1 = pygame.image.load('UpFor2.png')
LeftFor1 = pygame.image.load('LeftFor1.png')
RightFor2 = pygame.image.load('LeftFor1.png')
RightFor1 = pygame.image.load('LeftFor2.png')
LeftFor2 = pygame.image.load('LeftFor2.png')

UpCount = 0
LeftCount = 0
RightCount = 0
DownCount = 0  





character = pygame.image.load('StandUp.png')








x = (display_width * 0.5)
y = (display_height * 0.5)

def gameLoop():
    global character
    global UpCount
    global DownCount
    global LeftCount
    global RightCount
    global y
    global x
    global x_change
    global y_change


    x_change = 0
    y_change = 0





    crashed = False

    while not crashed:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                crashed = True
            if event.type == pygame.KEYDOWN:


                if event.key == pygame.K_a:
                    LeftCount += 1
                    x_change = -5
                    character = charLeft

                    if LeftCount % 2 == 0:
                        x = LeftCount/4
                        try:

                            x = int(x)
                        except ValueError:
                            character = LeftFor1
                        else:
                            character = LeftFor2
                    else:
                        character = charLeft





                if event.key == pygame.K_s:
                    y_change = -5
                    character = charRight

                    DownCount += 1
                    character = charDown

                    if DownCount % 2 == 0:
                         x = DownCount/4
                         try:
                            x = int(x)

                         except ValueError:
                            character = DownFor1
                         else:
                            character = DownFor2
                         pass


                    else:
                        character = charDown

                if event.key == pygame.K_w:
                    y_change = 5
                    character = charRight
                    UpCount += 1
                    character = charUp
                    x = UpCount
                    if DownCount % 2 == 0:
                        x = UpCount/4
                        try:
                            x = int(x)
                        except ValueError:
                            character = UpFor1
                        else:
                            character = UpFor2
                    else:
                        character = charUp

                if event.key == pygame.K_d:
                    x_change = 5
                    character = charRight

                    RightCount += 1
                    character = charRight
                    x = RightCount/4
                    if DownCount % 2 == 0:
                        x = RightCount/4
                        try:
                            x = int(x)
                        except ValueError:
                            character = UpFor1
                        else:
                            character = UpFor2
                    else:
                        character = charUp






            if event.type == pygame.KEYUP:
                if event.key == pygame.K_a or event.key == pygame.K_d:
                    x_change = 0
                    y_change = 0


        x = x + x_change
        y = y + y_change

        white = [255, 255, 255]


        gameDisplay.fill(white)
        gameDisplay.blit(character,(x,y))
        print('x ' + str(x) + ' y ' + str(y))
        pygame.display.flip()
        clock.tick(20)

gameLoop()
pygame.quit()
quit()



提前谢谢你

您是否可以尝试检查您的角色图像是否显示在游戏窗口的边界之外,例如将x和y变量设置为400和300,这样您就知道您的图像将被放置在窗口的中心。

尝试导入它。。。 从pygame.locals导入*


我不确定它是否有效,但请尝试一下…

能否将其中一张图片附加到问题上?可能.PNG中有一些奇怪的东西?如果仍然不起作用,请尝试将所有图像放在另一个文件夹中,通过导入操作系统并通过pygame.image.load(os.path.join('folder name','image_name'))获取它们。convert()