XNA рисование текста на экране - PullRequest
1 голос
/ 13 января 2011

Есть ли способ нарисовать длинный текст на экране, используя SpriteBatch.DrawString?Я имею в виду, вставляет новые строки, когда подходит к концу экрана.

Ответы [ 2 ]

4 голосов
/ 13 января 2011

Я бы посоветовал посмотреть на XNAwiki - TextRendering .

2 голосов
/ 13 января 2011

Вставка новых строк - это то, что вам нужно вычислить самостоятельно, это не то, что вы делаете автоматически с помощью среды XNA, но да, для этого можно написать код.

Один из способов сделать этовзять строку, которую хотите написать, и перемещать по ней слово за раз, пока не получится достаточно слов, чтобы заполнить ширину любой области, которую вы хотите заполнить.Найдя эту ширину, вы либо измените Y-позицию строки, которую хотите нарисовать, и перейдете на следующую строку, либо вставите символ новой строки в строку в этой точке и начнете вычислять количество слов, которое должнона следующей строке.

Следует обратить внимание на то, что манипуляции со строками являются дорогостоящими и генерируют много мусора, поэтому вам следует постараться свести к минимуму количество раз, когда вы делаете что-то подобное.Если текст статичен и никогда не изменяется, было бы идеально сделать это и никогда больше во время игры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...