def show_exp(self,exp): text_surf = self.font.render(str(int(exp)),False,TEXT_COLOR) x = self.display_surface.get_size()[0] - 20 y = self.display_surface.get_size()[1] - 20 text_rect = text_surf.get_rect(bottomright = (x,y)) pygame.draw.rect(self.display_surface,UI_BG_COLOR,text_rect.inflate(20,20)) self.display_surface.blit(text_surf,text_rect) pygame.draw.rect(self.display_surface,UI_BORDER_COLOR,text_rect.inflate(20,20),3)
时间: 2024-03-03 17:52:03 浏览: 127
MATLAB.rar_matlab_matlab c++_site:en.pudn.com
这段代码是用来展示经验值的,其中参数exp表示当前经验值。下面对代码进行注释:
```python
def show_exp(self,exp):
# 渲染文字
text_surf = self.font.render(str(int(exp)),False,TEXT_COLOR)
# 计算文字位置
x = self.display_surface.get_size()[0] - 20
y = self.display_surface.get_size()[1] - 20
text_rect = text_surf.get_rect(bottomright = (x,y))
# 绘制背景
pygame.draw.rect(self.display_surface,UI_BG_COLOR,text_rect.inflate(20,20))
# 绘制文字
self.display_surface.blit(text_surf,text_rect)
# 绘制边框
pygame.draw.rect(self.display_surface,UI_BORDER_COLOR,text_rect.inflate(20,20),3)
```
具体实现步骤如下:
1. 先使用pygame.font模块的render函数渲染出一个字符串,这个字符串就是经验值的数值。
2. 根据pygame的显示窗口的大小,计算出文字的位置,让文字显示在窗口右下角。
3. 绘制一个背景矩形,用于容纳文字,背景颜色是UI_BG_COLOR。
4. 绘制文字,将渲染出来的文字渲染在背景矩形中心。
5. 绘制一个边框,用于突出显示背景矩形,边框颜色是UI_BORDER_COLOR,宽度是3个像素。
这样就完成了经验值的显示。
阅读全文