首页 > 解决方案 > 图像未显示在 python 3.6.5 的 pygame 中

问题描述

我在 win32 上的 Python 3.6.5 中使用 Pygame,但我的 MarioGround.png 没有出现。我有两张图片,其中一张正在工作,另一张没有。我也没有错误。这是我的完整代码(待处理):

import pygame

pygame.init()

black = (0,0,0)
white = (255,255,255)
red = (255,0,0)
blue = (0,0,255)
sky_blue = (0,150,225)
green = (0,255,0)

displayWidth = 800

displayHeight = 600
#Final :- pygame.display.set_mode((1365, 1050))
gameDisplay = pygame.display.set_mode((displayWidth,displayHeight))
pygame.display.set_caption('Super Mario')
clock = pygame.time.Clock()


crashed = False

timeOut = False

Quit = False

#50,75
marioStanding = pygame.image.load('Super_Mario_Standing2.png').convert()
marioStanding = pygame.transform.scale(marioStanding, (displayWidth//16,displayHeight//8))

ground = pygame.image.load('MarioGround.png')

def Stand(mx,my):
    gameDisplay.blit(marioStanding,(mx,my))

mx = (displayWidth * 0.45)
my = (displayHeight * 0.8)

def makeGround(gx,gy):
    gameDisplay.blit(ground,(gx,gy))

gx = (displayHeight * 0.45)
gy = (displayWidth * 0.8)

while not crashed and not timeOut and not Quit:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            Quit = True

    print (event)

    gameDisplay.fill(sky_blue)
    makeGround(gx,gy)
    Stand(mx,my)

    pygame.display.update()
    clock.tick(24)

pygame.quit()
quit()

我的 Super_Mario_Standing2.png 出现了,虽然 MarioGround.png 没有出现。这里是他们两个的链接:MarioGround.png:https ://drive.google.com/open?id=1Jz7zTI5Cukv8fXlmyOEkwJTOTkuxIGUP

Super_Mario_Standing.png:https ://drive.google.com/open?id=1eUDAin-BUUzi6l-DgxHrf9v8JP8kdAPt

谢谢!!!

标签: pythonpython-3.ximagepygamepython-3.6

解决方案


您已经混淆了displayWidthdisplayHeight变量,这意味着gy变量是 640(在屏幕下方)。只需交换它们(另外,这里不需要括号):

gx = displayWidth * 0.45
gy = displayHeight * 0.8

推荐阅读