알렉스는 스프라이트를 검사하는 똑똑한 방법이 있다고 말합니다. 당신은 단지 하나의 픽셀을 확인하기 위해 당신이 메모리에 1.3MBytes를로드하는 기압을 할 메모리에 전체 이미지를로드하기 때문에
- 는 이미지 내에서 하나의 픽셀을 참조하지 않는 아니라 파일 이름을 비교 ?
- 리소스에 UID가 있으면 해당 리소스를 사용하는 경우 모든 리소스를 리소스 관리자에 저장하고 UID를 통해 리소스를 참조하십시오.
수 2는 무엇보다도 바람직하지만 다른 많은 방법이
편집이 있습니다 : 의견에 따라, 당신은 않을 것 "작물"픽셀에서, 당신은 단지 메모리 및 사용에 이미지를로드 할 것 이미지 클래스를 사용하여 한 위치에서 픽셀의 색상을 가져옵니다. 다음은 예를
sf::Image* map = MapSprite->GetTexture()->CopyToImage()
if (map->GetPixel(666,666) == sf::Color::Black)
{
//Funky stuff here
}
참고가 될 것입니다 : 당신은 SFML2 언급 그래서이 문서의 세트에서이다, 1.6
Edit2가 다를 수 있습니다 : 그것은 그래서 희망 SMFL을 잠시 사용했습니다되어 있기 때문에 코드 스 니펫이 적어도 방향을 알려줍니다.
당신이하는 일과 그 이유를 잘 모르지만 픽셀 대 픽셀 대형 스프라이트를 비교하고 싶지는 않습니다. 충돌 탐지의 목적을 위해서 당신은 똑똑하고 덜 계산적 인 것을 사용해야합니다. 객체 좌표를 비교한다. –