所以我尝试了很多事情(首先代码是基于OOP的,但是我改变了它,弄乱了变量,但没有用),我不知道为什么我的图像(代码中的Hero.png)没有显示。我是python / pygame的新手,所以一定是愚蠢的错误。无论如何,这里是代码,还不是完整的代码。
Import pygame
pygame.init()
winX = 720
winY = 1280
win = pygame.display.set_mode([winY, winX])
GameRun = True
clock = pygame.time.Clock()
HeroSprite = pygame.image.load('Hero.png')
pygame.display.set_caption("Game thingy")
bg = pygame.image.load('bg.jpg')
HeroX = winX / 2
HeroY = winY - 100
vel = 5
def redrawGameWindow(win, HeroX,HeroY):
win.blit(bg, (0,0))
win.blit(HeroSprite, (HeroX, HeroY))
pygame.display.update()
while GameRun:
clock.tick(60)
pressed = pygame.key.get_pressed()
if pressed[pygame.K_LEFT]:
HeroX -= vel if HeroX > 20 else 0
elif pressed[pygame.K_RIGHT]:
HeroX += vel if HeroX < winX - 20 else 0
for event in pygame.event.get():
if event.type == pygame.QUIT:
GameRun = False
redrawGameWindow(win, HeroX, HeroY)
pygame.quit()
您已交换winX
并winY
:
winX = 720 winY = 1280 win = pygame.display.set_mode([winY, winX])
因此,英雄的初始位置不在窗口中:
HeroX = winX / 2 HeroY = winY - 100
交换变量以获取窗口大小:
winX = 1280
winY = 720
win = pygame.display.set_mode([winX, winY])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句