Я с Алексом, который говорит, что есть более умные способы проверки спрайтов.
- Не сравнивайте имена файлов, не ссылайтесь на один пиксель в изображении, потому что вам нужно загрузить все изображениев память, чтобы сделать это, вы загружаете 1,3 МБ в память, чтобы проверить один пиксель?
- Сохраните все свои ресурсы в диспетчере ресурсов и ссылайтесь на них через UID, если у ресурса есть UID, используйте егоресурс.
Номер 2 предпочтительнее, чем все остальное, но есть много других способов
Редактировать: Согласно комментариям, вы бы не "обрезали" пиксель, вы быпросто загрузите изображение в память и используйте класс Image, чтобы получить цвет пикселя в определенном месте.Ниже приведен пример
sf::Image* map = MapSprite->GetTexture()->CopyToImage()
if (map->GetPixel(666,666) == sf::Color::Black)
{
//Funky stuff here
}
ПРИМЕЧАНИЕ: вы упомянули SFML2, так что это из этого набора документации, может отличаться для 1.6
Edit2: это было давно, так как яиспользовал SMFL, так что, надеюсь, фрагмент кода, по крайней мере, даст вам направление