비트맵(Bitmap) 그래픽
비트맵 그래픽은 간단히 말해 서로 다른 점(픽셀)들의 조합으로 그려지는 이미지 표현 방식입니다. 비트맵 이미지는 정교하고 화려한 표현이 가능하여, 주로 사진 이미지에 주로 사용됩니다. 비트맵 이미지는 크기를 늘리거나 줄이면 원본 이미지에 손상이 가는 것이 특징이며, 우리는 흔히 이것을 '이미지가 깨졌다'라고 표현합니다.
Bitmap 파일은 가로 X 세로 크기의 픽셀들로 구성되어 있습니다.
해당 비트맵의 X, Y 위치에 있는 픽셀의 값을 가져오거나 또는 수정 할수도 있습니다.
COLORREF Texture::GetPixel(int x, int y)
{
return ::GetPixel(mHdc, x, y);
}
C++
복사
Transform* tr = GetOwner()->GetComponent<Transform>();
Vector2 pos = tr->GetPosition();
COLORREF color = mPixelMap->GetPixel(pos.x, pos.y + 50);
Rigidbody* playerRb = GetOwner()->GetComponent<Rigidbody>();
if (color == RGB(255, 0, 0))
{
playerRb->SetGround(true);
pos.y -= 1;
tr->SetPosition(pos);
}
else
{
playerRb->SetGround(false);
}
C++
복사
위와 같이 기존의 충돌체 처리 대신 픽셀의 색을 가져와 조금 더 정밀한 충돌처리가 진행이 가능해진다.