|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import pygame
- pygame.init()
- screen = pygame.display.set_mode((400, 300))
- font = pygame.font.Font(None, 32)
- text = "Hello, this is a long message that needs\n to be split into multiple lines"
- rendered_text = font.render(text, True, (255, 255, 255))
- screen.blit(rendered_text, (50, 50))
- while True:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- sys.exit()
- pygame.display.update()
复制代码
自己写了一段代码,发现"/n"换行符没有效果
了解你的需求,你可以创建一个函数来处理文本中的换行符,并将文本分成多行。然后,你可以逐行渲染文本并在屏幕上绘制。以下是修改后的代码:
- import pygame
- import sys
- pygame.init()
- screen = pygame.display.set_mode((400, 300))
- font = pygame.font.Font(None, 32)
- text = "Hello, this is a long message that needs\n to be split into multiple lines"
- def draw_multiline_text(text, font, color, x, y):
- lines = text.split('\n')
- for i, line in enumerate(lines):
- rendered_text = font.render(line, True, color)
- screen.blit(rendered_text, (x, y + i * font.get_height()))
- draw_multiline_text(text, font, (255, 255, 255), 50, 50)
- while True:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- sys.exit()
- pygame.display.update()
复制代码
在这个代码中,我们创建了一个名为 `draw_multiline_text` 的函数,它接受文本、字体、颜色和起始坐标作为参数。函数首先将文本按换行符(`\n`)分割成多行。然后,对于每一行,我们使用 `font.render()` 方法渲染文本,并使用 `screen.blit()` 方法将其绘制在屏幕上。注意,我们根据当前行的索引和字体高度调整了每行文本的垂直位置。
现在,当你运行这个代码时,文本中的换行符应该能正确地将文本分成多行。
|
|