Вертикальные белые полосы

SFML и C++ Уроки \ Разработка игр Форумы SFML Graphics Вертикальные белые полосы

В этой теме 5 ответов, 3 участника, последнее обновление  KindRedSand 6 года/лет, 4 мес. назад.

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)
  • Автор
    Сообщения
  • #4687
    Wheatley
    Wheatley
    Участник
    Сообщений:3

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

    Репутация:0

     

    Здравствуйте! Нужна помощь…

    В общем, как и все, пишу свою игру. Но столкнулся с одной проблемой: прорисовка карты иногда пролагивает, а именно периодически появляются вертикальные белые полосы.

    Я проверял с другими текстурами и всё нормально работает, т.е. никаких пролагиваний. А с этими которые я решил поставить, что-то не так.

    Примечаение: (если что, цветовую маску тоже накладывал) image.createMaskFromColor(Color(255, 0, 255));

    Пытался  в фотошопе обработать, сохранять как для web т.е. чтобы объём картинки сжать – не помогло. Я знаю, кто-то скажет: “да что ты прицепился к этим текстурам – возьми другие”. Мой ответ: Я не привык сдаваться и всегда стою на своём!

    Буду рад, если кто поможет…

    Вот код main.cpp

    view.h

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

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

    Репутация:0

    Вот примечания:

    Вложения:
    You must be logged in to view attached files.
    #4696

    makish
    Участник
    Сообщений:14

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

    Репутация:6

    Дело в том, что на каждом кадре игры ты в цикле заново присваиваешь единственному(!) спрайту TextureRect, после чего сразу же его отрисовываешь. Гораздо правильнее было бы создать массив этих спрайтов, присвоить им TextureRect’ы и позицию до главного цикла while, а во время выполнения приложения просто отрисовывать каждый спрайт по очереди.

    #4697
    Wheatley
    Wheatley
    Участник
    Сообщений:3

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

    Репутация:0

    Я попробовал данный способ, но ничего не сработало. Как я уже сказал: это дело в картинке! С ДРУГИМИ картинками всё нормально работает. Может нужно как-то обработать картинку… Перепробовал разные способы: сжимал в объёме, сохраняя в PhotoShop как для Web и т.д. Но мне нужны именно эти текстуры. Посоветуйте как обработать изображение, чтобы не было пролагиваний…

    Вот реализованный код map.h

     

    #4935
    Wheatley
    Wheatley
    Участник
    Сообщений:3

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

    Репутация:0

    Если кто-то всё таки увидит данный пост, то решение нашлось: просто координаты камеры приводить к типу int. Не знаю может это был глюк камеры при использовании float.

    #4936
    +1

    KindRedSand
    Участник
    Сообщений:82

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

    Репутация:30

    Правильно, ибо SFML производит отрисовку “По пиксельно” в отношении ОКНА и НЕ применяет сглаживание по умолчанию. Для активации сглаживания в конструктор окна надо передавать sf::ContextSettings с заданым значением зглаживани (Antialiasing).

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

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