PyGame - 如何在屏幕中央获取图像

2024-05-09

# MENU
def gameMenu():
intro = True
while(intro == True):
    win.fill((0,0,0))
    iPATH = f"{PATH}/assets/textures/titleScreen/buttons"
    win.blit(pygame.image.load(os.path.join(f"{iPATH}/startSelected.png")), (screenSize/2,500))
    iPATH = f"{PATH}/assets/textu
    win.blit(pygame.image.load(os.path.join(f"{iPATH}/Logo.png")), (screenSize/2,50))
    pygame.display.update()
    keys = pygame.key.get_pressed()
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
    if keys[selectButton]:
        print("clicked z")
        break
    elif keys[backButton]:
        print("clicked x")
    else:
        pass

顺便说一句,屏幕大小 = 800 所以我已经尝试将它除以 2,如你所见,但它看起来像这样:https://i.stack.imgur.com/5S9VU.jpg https://i.stack.imgur.com/5S9VU.jpg

有任何想法吗?


你犯了一个简单的数学错误。如果您的屏幕尺寸为 800,将其除以 2,则得到 400。因此,如果图像宽度为 100 像素,您将覆盖 400 到 500 像素,从而向右倾斜。

如果您想真正使图像居中,则需要考虑其宽度的一半。因此,获取左上角 x 坐标的计算应如下所示:

x_centered = screen_width / 2 - image_width / 2
y_centered = screen_height / 2 - image_height / 2 #similarly..

适应当前项目的具体情况应该相当简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyGame - 如何在屏幕中央获取图像 的相关文章

随机推荐