【发布时间】:2012-03-24 22:45:09
【问题描述】:
我使用下面的代码格式化了字符串
String.Format("{0,-10} {1,10}", "Kills:", kills);
String.Format("{0,-10} {1,10}", "Points:", points);
String.Format("{0,-10} {1,10}", "$:", currency);
据我了解,字符串的第一部分应该用 10 个空格的缓冲区左对齐,然后应该用 10 个空格的缓冲区右对齐打印整数变量。
但是,当尝试使用 SpriteBatch.DrawString 绘制字符串时,没有正确对齐。
左对齐的一面打印正确,但右对齐的一面以某个点为中心,例如如果 kills = 50 和 points = 5002,则 50 将在 5002 中的 00 上居中...
发生了什么事?
【问题讨论】:
-
如果它使用固定间距字体渲染,其中每个字符占用相同数量的空间,这将起作用。但是,如果您不明确控制 SpriteFont,则可能性很小。不清楚你是否这样做,你可能不这样做。也不是很漂亮。
标签: c# string xna formatting drawing