Я пытался заставить свою игру масштабировать каждый спрайт в зависимости от размера экрана и нашел это site.
Однако кажется, что они использовали XNA 3.1, поэтому в spriteBatch.Begin
они использовали некоторый код, который не работает в XNA 4.0, например SpriteBlendMode.AlphaBlend
. Теперь я нашел веб-сайт, который конвертирует код 3.1 в 4.0, и я это сделал. Но это говорит
«Нет перегрузки для метода spriteBatch.Begin () принимает 3 аргумента»
в методе рисования.
На данный момент это выглядит так:
spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SpriteScale);
Чего еще он хочет? Могу я просто поставить null, null после SpriteScale? Или есть более простой способ масштабировать игру в зависимости от размера экрана? Пожалуйста помоги! :)
spriteBatch.Begin();
должно бытьspriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, null, null, SpriteScale);
. Посмотрите, решит ли это вашу проблему. - person Dustin Kingen   schedule 28.05.2013Update
. - person Dustin Kingen   schedule 28.05.2013Matrix.CreateScale(screenscale, screenscale, 1);
использует ширину дважды. Вы можете решить проблему с черной пустотой, поместив камеру и прижав ее угол обзора к краям. - person Dustin Kingen   schedule 29.05.2013