我正在创建的游戏中的屏幕上显示了数字,当数字的大小从双位数变为单位数时,它们会向错误的方向(左)移动,从而造成未对齐。是否可以将字体向右移动或根本不移动并保持居中,就像电子表格中的居中功能一样?
def heroPortrait(name, hp):
portrait = pygame.image.load(name + '.png')
portrait.set_colorkey(WHITE)
py_portrait = portrait.get_rect()
py_portrait.topleft = (462, 502)
fontHp = pygame.font.Font(None, 32)
renderHp = fontHp.render(hp, True, WHITE)
renderHp_pos = renderHp.get_rect()
renderHp_pos.center = (555, 578)
screenSurf.blit(portrait, py_portrait.topleft)
screenSurf.blit(renderHp, renderHp_pos.center)
最佳答案
这非常简单,当您绘制文本时,只需将屏幕宽度减去元素宽度除以二即可。
screen.blit(screenWidth // 2 - myText.get_width(), screenHeight // 2 - myText.get_height())
这有很多好处,它适用于各种屏幕尺寸,并且还可以适应宽度变化。
关于python - 当数字从两位数变为一位数时,如何使屏幕上的字体居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49858402/