Gra w C++ Builder

0

Witam, muszę zaimplementować if'a, który oceni czy użytkownik kliknął w część przezroczystą obiektu (obok obiektu w który powinien kliknąć), czy w ten obiekt. (Jeśli kliknął w część przezroczystą, to program nie powinien wykonać żadnego "ruchu", a jeśli w prawidłowy obiekt powinna zmienić się grafika na inną). Jak sprawdzić czy to jest część przezroczysta czy nie? Załączam zdjęcie dla zobrazowania sytuacji.

0

Każdy "piksel" w teksturze jest w ->cudzysłów"formacie RGBA"cudzysłów<- - wystarczy, że przekalkulujesz pozycję kursora z okna na pozycję na teksturze i odczytasz wartość A danego piksela (alpha)

0

Dziękuję za odpowiedź. Wiem, że trzeba pokombinować z RGBA, jednak nie jestem w stanie tego zapisać. Nie mam pojęcia jak to zrobić.

2
if(Image1->Canvas->Pixels[X][Y] != clWhite)
 

Jednak całe tło musi być białe, a postać nie może zawierać tego koloru.
Inną możliwością jest utworzenie czarno-białej maski gdzie postać jest w innym kolorze niż tło

0

Dziękuję bardzo za pomoc. Działa! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1