Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

Просмотр темы
 Распечатать тему
Оптимальное разрешение экрана
gforcer18
#1 Распечатать сообщение
Опубликовано 13.11.2010 12:10:28
Аватар пользователя

Специалист


Сообщений: 81
Зарегистрирован: 08.10.10

Привет всем.

Проект 2Д игры игры содержит бекграунды, а также другию грфику, заточенную под разрешение 1280х1024. От разрешения экрана зависит не только графика, но и ИИ. Чем больше места тем больше в сцене ИИ-объектов.

Проблема в следующем, человек запускает игру на мониторе 1600х900 (широкий) и происходит следующее:
  • Не видно верхней рамки окна

  • Черные участки экрана, по ширине


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

ПС: нашел одно решение, но оно частичное. Используя CustomGraphicsComponent (пример расширенного класса GraphicsDeviceManager) методами:

Загрузить источник  GeSHi: C#
  1.  
  2. if (GraphicsDevice.Adapter.IsWideScreen)
  3. this.graphics.IsWideScreenOnly = true;
  4. else
  5. this.graphics.IsWideScreenOnly = false;
  6.  
  7. graphics.ApplyChanges();
  8.  
Добавлено за 0.005 секунд, используя GeSHi 1.0.8.2

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

Еще раз, помогите. Есть ли стандартный метод, чтобы программа сама подстраивалась под разрешения и меняла графику ?
:|
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригиналSmile
 
http://igames-software.clan.su
beaver
#2 Распечатать сообщение
Опубликовано 13.11.2010 13:45:18
Аватар пользователя

Администратор


Сообщений: 1772
Зарегистрирован: 22.02.09

Игра должна быть одинаково простой или сложной для всех. А тут получается что у кого круче монитор тому покажется больше объектов сцены (и т.д.).
Если скайлить не нравится - можно заготовить контент для всяких разрешений (их не так много).
Вопрос - а как быть когда переключается флаг фуллскрин?
 
VAB
#3 Распечатать сообщение
Опубликовано 13.11.2010 14:32:27
Аватар пользователя

Администратор


Сообщений: 1431
Зарегистрирован: 21.07.09

Скейлить - не вариант!
Обычно делают несколько вариантов текстур.
Для ИИ используй не конкретные координаты, а, например, отношения:
верх экрана = 0, низ = 1
и т д
следовательно ИИ будет одинаково работать с любыми типами разрешения
 
gforcer18
#4 Распечатать сообщение
Опубликовано 13.11.2010 14:35:09
Аватар пользователя

Специалист


Сообщений: 81
Зарегистрирован: 08.10.10

Можно про скайлить поподробнее.Поиск не рулит
На другой системе, скайлить все фоны под разрешения - очень ресурсоемкий процесс, который сильно тормозит загрузку игры.

А как же быть с другими объектами ? Если все скайлить, ужас какие деффекты могут появится.Не хило

Игра в полном экране, иначе эффект не тотSad
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригиналSmile
 
http://igames-software.clan.su
VAB
#5 Распечатать сообщение
Опубликовано 13.11.2010 15:41:24
Аватар пользователя

Администратор


Сообщений: 1431
Зарегистрирован: 21.07.09

gforcer18 написал:
Можно про скайлить поподробнее.Поиск не рулит

А как же быть с другими объектами ? Если все скайлить, ужас какие деффекты могут появится.Не хило


потому это и не вариантSmile Любой скейл будет деформировать изображение!
Одна из перегрузок spriteBatch.Begin принимает матрицу трасформации
но трансформироваться будут и координаты.
 
gforcer18
#6 Распечатать сообщение
Опубликовано 13.11.2010 16:35:44
Аватар пользователя

Специалист


Сообщений: 81
Зарегистрирован: 08.10.10

Извините, что мутил воду. Основной вопрос:
Какое разрешение - оптимально.
Например 800х600 - кажется самым оптимальным. При 1900х600 вполне все вместиться, даже с соотношением 16:9. Правда графика будет квадратнее.

Подскажите лучшее решение.
Изменил(а) gforcer18, 13.11.2010 16:36:38
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригиналSmile
 
http://igames-software.clan.su
Hale_32bit
#7 Распечатать сообщение
Опубликовано 13.11.2010 18:34:48
Аватар пользователя

Администратор


Сообщений: 783
Зарегистрирован: 23.02.10

Скэйлить игру - это головная боль. Но я стараюсь сделать это качественно.
В твоёмслучае я бы сделал текстуру для широких экранов, и сделал бы так чтобы владельцы узких экранов не увидели боковых краёв текстуры.
т.е. нормируешь фон чтобы он влезал на экран по вертикали.

Какое разрешение - оптимально.

- так я точно не буду думать и тебе не советую.
Изменил(а) Hale_32bit, 13.11.2010 18:37:46
 
gforcer18
#8 Распечатать сообщение
Опубликовано 14.11.2010 10:47:55
Аватар пользователя

Специалист


Сообщений: 81
Зарегистрирован: 08.10.10

Помогите!


Опять блин комом. Сделал полный экран, разрешение 800х600. Поддержка широкого экрана. Дал человеку проверить. Еще хуже стало:

Тоже плохо, т.к. игровая зона не посередине, а слева, а остальное место занимает синяя заливка.


Как я понял, монитор у него 1600х900. Игра включает 800х600. И при этом изображение не заполняет все пространство монитора. Не понимаю почему. Ведь у меня все нормально заполняет, никаких синих участков, на любом поддерживаемом разрешении.

Объясните кто-нибудь как решить проблему.Frown

Если интересно, сама версия игры с такой проблемой тут.
Изменил(а) gforcer18, 14.11.2010 10:59:33
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригиналSmile
 
http://igames-software.clan.su
gforcer18
#9 Распечатать сообщение
Опубликовано 14.11.2010 17:32:28
Аватар пользователя

Специалист


Сообщений: 81
Зарегистрирован: 08.10.10

Подскажите, можно через Viewport принудительно заполнять монитор полностью (растягивать изображение) ?
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригиналSmile
 
http://igames-software.clan.su
general
#10 Распечатать сообщение
Опубликовано 14.11.2010 18:00:37
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

вот ты сложными путями ходишь
[dreamteam-mobile]
[dtimofeev.blogspot.com][c#][XNA][blog]
 
Hale_32bit
#11 Распечатать сообщение
Опубликовано 14.11.2010 18:07:15
Аватар пользователя

Администратор


Сообщений: 783
Зарегистрирован: 23.02.10

А как нибудь вот так:

SpriteBatch.Draw(Texture,GraphicsDevice.ScissorRectangle ...)

Работает?
 
gforcer18
#12 Распечатать сообщение
Опубликовано 14.11.2010 19:17:36
Аватар пользователя

Специалист


Сообщений: 81
Зарегистрирован: 08.10.10

что-то вы не о том.

Проблема в том, что у меня картинка на весь экран растягивается. А у человека - нет. У него остаются пустые участки.

Вопрос в том, как бы это решить.

Единственный способ, который на уме, Viewport на разрешение самого монитора.

Может есть лучший способ ?
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригиналSmile
 
http://igames-software.clan.su
gforcer18
#13 Распечатать сообщение
Опубликовано 14.11.2010 20:08:57
Аватар пользователя

Специалист


Сообщений: 81
Зарегистрирован: 08.10.10

GrinФух, теперь можно спать спокойно.

Проблему решил. Оказалось, что просто намутил воды, в плане лишних проверок и способов подстройки под широкий монитор.
Убрал подальше всю логику при инициализации связанную с определением того, является ли монитор ( видео-адаптер ) широкоформатным, т.е. 16:9 или около того. Мне показалось, что эти методы не вполне адекватны.

В итоге, без этого лишнего мусора в коде, графика вполне нормально заполнила экран, даже на мониторе 16:9.
Frown
Одно но, сказали, что по краям экрана черные полосы, но это думаю мелочь, которая легко решается.

Всем привет
Активный, общительный, адекватный, вежливый, терпеливый, немножко ленивый, креативный оригиналSmile
 
http://igames-software.clan.su
general
#14 Распечатать сообщение
Опубликовано 14.11.2010 21:58:39
Аватар пользователя

Администратор сайта


Сообщений: 3788
Зарегистрирован: 10.02.09

general написал:
вот ты сложными путями ходишь

[dreamteam-mobile]
[dtimofeev.blogspot.com][c#][XNA][blog]
 
expopincher
#15 Распечатать сообщение
Опубликовано 15.11.2010 08:56:21
Аватар пользователя

Специалист


Сообщений: 79
Зарегистрирован: 27.04.09

имхо красивее: при запуске узнаешь разрешение экрана. запускаешь с таким разрешением. грил не нравится что фон растягивает в 16:9 - сделай 2 разных фона для 3:4 и 16:9. грил позиция объектов от ширины экрана? - так делай ее по процентам ширины

2general: +1

Wink
 
Перейти на форум:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

21.08.2014
Переводить его надо, хоть на ту же азуру. И двиг менять на что-то современное. Если есть веб-разрабы - можем скооперироваться. Один делать не буду.

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,18 секунд 8,709,516 уникальных посетителей