Я разрабатываю игру для Windows и Windows Phone 8.1. Игра проходит в 800х480, который установлен в игре конструктор класса:MonoGame 3.4 Windows Phone 8.1 - визуализация рендеринга под виртуальными кнопками hw
graphics = new GraphicsDeviceManager(this);
graphics.PreferredBackBufferHeight = 480;
graphics.PreferredBackBufferWidth = 800;
работает как шарм на PC, hovewer, когда я запускаю игру на Nokia 630 с виртуальными кнопками и фактическим разрешением 854x480, в viewport отображается под виртуальными кнопками.
Если я пытаюсь получить фактическое разрешение от spriteBatch
или graphics
или непосредственно в GraphicsDevice
классе, я всегда получаю 800x480, в то время как это очевидно, что реальное разрешение больше (в то время как на ПК я могу выяснить дисплей находится в 1920x1080).
Просто чтобы прояснить, я в настоящее время есть очень простой метод Draw, без каких-либо других изменений разрешения или видовых бы то ни было:
GraphicsDevice.Clear(oc.colBack);
spriteBatch.Begin();
foreach (Mob mobUnit in oc.mob) {
spriteBatch.Draw(sprSquare, mobUnit.position, origin: mobUnit.size/2, color: oc.colMob * 0.8f);
}
spriteBatch.End();
base.Draw(gameTime);
Любые идеи, как решить эту проблему? Спасибо.
PS: Строка состояния НЕ показывает и не «толкает» видовое окно в сторону.
Это может быть связано с этой ошибкой я сообщил недавно https://github.com/mono/MonoGame/issues/4018 – craftworkgames
«о поведении ошибка очень затрудняет достижение независимости разрешения Letterboxing/pillarboxing, насколько я могу сказать, что версия DX определенно нарушена ». oh .. Да, я использую версию DX, я также попробовал вашу библиотеку Monogame.Extended - без какого-либо полезного эффекта. Поэтому я предполагаю, что мне придется ждать патча или что-то в этом роде. Если кто-то не приходит с обходным путем - например, масштабируя область просмотра прямо до кнопок, для чего мне нужно знать, есть ли они там и их размер (который не 54px, так как он находится в растянутом 800px ...). Спасибо :) – NoHarmDan
Да, правильно, я не мог найти способ реализовать версию DX. Хотя реальная проблема заключается в том, что это не имеет значения, monogame должен вести себя одинаково на всех платформах. Я уверен, что они исправит его в следующей версии, возможно, в вашем случае есть какое-то обходное решение. Надеюсь, – craftworkgames