Вопрос для начинающих XNA о методе розыгрыша - PullRequest
0 голосов
/ 04 апреля 2011

Я понимаю, что я должен рисовать все в draw (), и он постоянно зацикливается.

Но я не хочу рисовать текстуру снова и снова, например, я хочу создать текстуру, нарисовать что-нибудь для текстуры (не spritebatch). чем я нарисую эту текстуру только в draw ().

Возможно ли это? Что я могу использовать?

Ответы [ 2 ]

4 голосов
/ 04 апреля 2011

Вы должны рисовать снова и снова, как вкратце, если вы этого не сделаете, он не покажет. Один мудрец однажды написал в книге по разработке окон

Не спрашивайте, почему текст в ваших окнах должен постоянно рисоваться, спрашивайте, почему это никогда не было в командной строке DOS / Unix.

Если что-то расположено над областью, которую вы рисуете, и вы не перерисовываете ее, ее просто не будет. Вы должны продолжать рисовать это, чтобы это было поддержано на экране. Это сделано очень быстро и не повредит ничего (особенно если вы думаете с точки зрения фона)

2 голосов
/ 04 апреля 2011

Не рисовать снова - это оптимизация производительности.Это следует делать только в том случае, если вам действительно нужно к.

Если вам нужно это сделать, создайте цель рендеринга, нарисуйте свою сцену к цели рендеринга, а затем нарисуйте цель рендеринга.на экран каждый кадр (использование SpriteBatch делает это проще) вместо вашей сцены.

Взгляните на этот вопрос о кешировании чертежа с использованием целей рендеринга.

...