python - 当数字从两位数变为一位数时,如何使屏幕上的字体居中?

标签 python python-3.x pygame

我正在创建的游戏中的屏幕上显示了数字,当数字的大小从双位数变为单位数时,它们会向错误的方向(左)移动,从而造成未对齐。是否可以将字体向右移动或根本不移动并保持居中,就像电子表格中的居中功能一样?

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/

相关文章:

python - 两个单词列表的概率分布

python - 如何确定数据类中的字段是否具有默认值或是否已显式设置?

python - 重新打开窗口抛出 Gtk-CRITICAL ** : gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed

python - 类型错误 : integer argument expected got float' Python 3. 4

python - 制作 Python 批处理文件

python - 正确使用 GAE ndb.CompulatedProperty

python - read_sql block 大小错误

python - Python中的方程解析

python-3.x - 评估 tf.keras.model 输出之间的成对距离

python - 在 pygame 中我可以故意触发一个事件吗?