我有一些文本想要显示在游戏底部的某种日志中。
我想要一种方法来确保文本适合特定大小,如果超过那个大小,我会自己修剪它(“bla bla bl ...”)
我知道我可以通过使用 SpriteFont.MeasureString 获得文本将采用的大小 - 所以我知道特定字符串是否会超出限制。
最明显的解决方案涉及这种循环
StringBuilder display = new StringBuilder();
foreach (char c in string)
{
if mySpriteFont.MeasureString((display.Append(c)) > SOMEAMOUNT
{
display.append("...");
return display.toString();
}
}
但是,我担心这种事情做起来非常昂贵。还有其他解决方案吗?