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