8

我刚开始使用SDL2_ttf. 我已经想出了如何在屏幕上显示一些文本TTF_RenderText_Blended,但是我怎样才能让它进行换行和自动换行呢?

  1. 它似乎不支持\n;它只是创建一个空间而不是沿着一条线。有没有办法增加对此的支持?具体来说,使用文本的适当行高,而不是在不同的 Y 坐标处多次调用 RenderText。
  2. 给定一个 X、Y 坐标和一个宽度,我怎样才能让它在达到该宽度时自动下降一行(在单词之间中断)?
4

2 回答 2

26

而不是使用TTF_RenderText_Blended,使用TTF_RenderText_Blended_Wrapped。它需要附加参数:以像素为单位的宽度,之后文本将进入下一行。

于 2013-08-24T12:42:39.233 回答
2

SDL_TTF 不做包装,你必须自己写。

TTF_Font* ttf;
TTF_SizeText(ttf, "Hello World", &w, &h);

给你一个字符串的宽度和高度。

于 2013-07-26T16:49:48.690 回答