You need to enable JavaScript to run this app. Pygame移动矩形内居中显示1-4位数字文本的实现问题
优惠活动
大模型
产品
解决方案
定价
更多

Pygame移动矩形内居中显示1-4位数字文本的实现问题

实现文本居中的方法

Pygame的文本渲染返回的Surface对象自带get_rect()方法,可以获取文本的实际宽高,你只要将文本矩形的中心和方块的中心对齐,即可适配任意长度的数字,无需手动计算不同位数的偏移值。

你只需要修改sqr类的numberTextFunc方法,修改后的代码如下:

def numberTextFunc(self, X, Y):
    numberText = self.numberFont.render(f"{self.number}", True, (87, 63, 63))
    # 方块固定尺寸为120*120,中心点坐标为左上角坐标各加60
    block_center = (X + 60, Y + 60)
    # 直接将文本矩形的中心对齐方块中心
    text_rect = numberText.get_rect(center=block_center)
    screen.blit(numberText, text_rect)

修改完成后运行即可看到所有数字不管位数多少,都会自动在方块内部居中显示。

内容的提问来源于stack exchange,提问作者logan9997

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 18:12:02