Проверка попал ли клик мыши в спрайт с прозрачным фоном

SFML и C++ Уроки \ Разработка игр Форумы SFML готовые решения (сниппеты) и советы Проверка попал ли клик мыши в спрайт с прозрачным фоном

В этой теме 1 ответ, 1 участник, последнее обновление VladimirL VladimirL 7 года/лет, 8 мес. назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #4129
    +2
    VladimirL
    VladimirL
    Участник
    Сообщений:4

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

    Репутация:3

    Всем привет!

    В уроках, которых я видел, проверка кликнула ли мышь в спрайт осуществлялась как-то так:

     

     

    Если большая часть спрайта прозрачна, это плохо работает (ложно положительные результаты).

    Написал функцию, которая учитывает прозрачность, трансформации, TextureRect.

    Заодно,  возвращает цвет в данной точке.

    (Image я загружаю из файла с самого начала, по нему создаю текстуру, и то и другое кэширую. Текстуру передаю спрайту, Image держу под рукой.)

    Погонял, работает. Вот код:

     

    #4130
    VladimirL
    VladimirL
    Участник
    Сообщений:4

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

    Репутация:3

    Забыл написать: getOrigin в функции не фигурирует, но я эту возможность тестировал: всё работает.

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

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