Универсальное разрешение экрана, и его настройка

SFML и C++ Уроки \ Разработка игр Форумы SFML Graphics Универсальное разрешение экрана, и его настройка

В этой теме 10 ответов, 4 участника, последнее обновление MicroSDA MicroSDA 4 года/лет, 1 месяц назад.

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Автор
    Сообщения
  • #261
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

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

    К примеру: Создаём окно 800х600, но на более крупных разрешениях текстуры растягиваются.  А в последнее время почти у всех широкоэкранные мониторы, и ноутбуки. Это получается, что под каждое разрешение нужно делать текстуру индивидуального разрешения?

    Хочу знать, как реализуются настройки в играх, в первую очередь на SFML.

    #262
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:587

    Зарегистрирован:
    04.01.2015

    Репутация:104

    Вроде есть функция, снимающая разрешение экрана игрока.

    #279
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Даже если и есть такая функция, при изменении разрешения, картинка попросту отображается некорректно.

    Вложения:
    You must be logged in to view attached files.
    #282
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Было 800х600, изменил на 1024х768.

    #286
    Павел Букреев
    Павел Букреев
    Хранитель
    Сообщений:587

    Зарегистрирован:
    04.01.2015

    Репутация:104

    А если картинкам давать размер что то типа window.getSize().x/30 и тд, но мне кажется должно быть решение получше

    #304
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    нашёл способ виндовса определять размер экрана.
    int scrX = GetSystemMetrics(SM_CXSCREEN);
    int scrY = GetSystemMetrics(SM_CYSCREEN);
    RenderWindow window(VideoMode (scrX, scrY),”name”);

    #756

    wentus
    Участник
    Сообщений:1

    Зарегистрирован:
    16.05.2015

    Репутация:0

    Как сделать чтобы при изменении размеров окна качество картинки не потерялась ?

    #757
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145
    #758
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    Когда ты изменяешь размер окна, это происходит не пропорционально. Поэтому изображение искажается.

    #759
    Heisenberg
    Heisenberg
    Участник
    Сообщений:323

    Зарегистрирован:
    01.04.2015

    Репутация:145

    if (event.type == sf::Event::Resized)
    {
    winX = window.getSize().x;
    winY = window.getSize().y;

    if( winX < winY ) window.setSize().x = …;
    if( winY < winX ) window.setSize().y = …;
    }

    #765
    MicroSDA
    MicroSDA
    Участник
    Сообщений:64

    Зарегистрирован:
    24.04.2015

    Репутация:22

    800×600 и 1024х768 итд, что то мне подсказывает что  это всё пропорциональные разрешения , и увеличиваться должно пропорционально.

     

    RenderWindow window(VideoMode::getDesktopMode(), “Пара ПАм”); // я на весь экран делаю так.

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)

Для ответа в этой теме необходимо авторизоваться.