如何在pygame中显示一个utf-8字符?
How to display an utf-8 character in pygame?
有没有办法使用 pygame 渲染刻度线?我尝试像这样直接使用 unicode:
def write(screen, text, color, position, size):
font = pygame.font.Font(pygame.font.get_default_font(), size)# Defining a font with font and size
text_surface = font.render(text, True, color)# Defining the text color which will be rendered
screen.blit(text_surface, (position[0], position[1])) # Rendering the font
write(window, u'\u2713', self.color, position, size)
但这只是画了一个矩形。
正在写的这个'rectangle'实际上是✓
符号使用pygame.font.get_default_font()
的表示。为了显示 ✓
符号,您需要确定该符号包含在您使用的字体中。我提出以下解决方案:
- 下载包含该符号的字体(例如 Segoe UI Symbols from here)
- 将字体包解压到data文件夹(或主应用文件夹)
- 将您正在使用的字体更改为下载的字体
font = pygame.font.Font("seguisym.ttf", size)
- 使用
write(window, u'\u2713', self.color, position, size)
方法或直接使用 write(screen, "✓", self.color, position, size)
写入函数
有没有办法使用 pygame 渲染刻度线?我尝试像这样直接使用 unicode:
def write(screen, text, color, position, size):
font = pygame.font.Font(pygame.font.get_default_font(), size)# Defining a font with font and size
text_surface = font.render(text, True, color)# Defining the text color which will be rendered
screen.blit(text_surface, (position[0], position[1])) # Rendering the font
write(window, u'\u2713', self.color, position, size)
但这只是画了一个矩形。
正在写的这个'rectangle'实际上是✓
符号使用pygame.font.get_default_font()
的表示。为了显示 ✓
符号,您需要确定该符号包含在您使用的字体中。我提出以下解决方案:
- 下载包含该符号的字体(例如 Segoe UI Symbols from here)
- 将字体包解压到data文件夹(或主应用文件夹)
- 将您正在使用的字体更改为下载的字体
font = pygame.font.Font("seguisym.ttf", size)
- 使用
write(window, u'\u2713', self.color, position, size)
方法或直接使用write(screen, "✓", self.color, position, size)
写入函数