level 6
我好想找到问题了,你绘制文字的时候不是直接用rect,而是用的内部变量msg_image_rect,你直接用rect替换,msg_image_rect没有用你的_prep_msg函数刷新
2021年08月11日 10点08分
12
两天没看,不好意思回复晚了
2021年08月11日 10点08分
另外,你改了之后显示和之前一样吗?是不是文字变成在左上角了?
2021年08月11日 10点08分
level 6
还有一个,你那个文字的rect对象似乎有些问题,由于你设置的min_size,导致该rect对象的宽和高都是0,也就是说这个rect对象是一个点,而不是根据文字对象生成的,自然也用不了midleft(midleft取得的坐标是[x, y + height / 2])之类的通过自动计算得到的变量(如果不改变该rect对象的生成方式self.rect = pygame.Rect(self.loc[0], self.loc[1], self.min_s[0], self.min_s[1])这一行的话,你可以在最后blit文字的时候改用self.screen.blit(self.msg_image, [self.msg_image_rect[0], int(self.msg_image_rect[1] - self.msg_image.get_height() / 2)])来渲染居中,但只是暂行策略,不建议使用)
2021年08月11日 10点08分
14