Witajcie. Mam bitmapę [kafel jakiś] 50x50 i chcę go przesunąć myszką [w sposób jak ikonki na pulpicie, klikam na ikonkę, przesuwam, puszczam itd].
Mam kod:
if(lpm == 1 &&
mx > kafel.getPos().x && (mx < kafel.getPos().x + kafel.getPos().w) &&
my > kafel.getPos().y && (my < kafel.getPos().y + kafel.getPos().h))
kafel.move(mx - kafel.getPos().w/2, my - kafel.getPos().h / 2);
mx - pozycja myszki x, my - pozycja myszki y
Problem w tym że nie mogę przesuwać jej po całym programie tylko w określonym fragmencie (jak na rysunku)
Zielony kwadrat to mój kafel(bitmapa), czerwone kreski to obszar DO którego mogę przesuwać dowolnie bitmapę, za czerwony obszar nie mogę jej poruszyć. (czarny kolor to obszar mojego całego programu). Dlaczego ? jeśli usunę "&&" na "||" to mogę poruszać po całej mapie ale nie klikając na bitmapę więc to mnie nie satysfakcjonuje. Próbowałem z nawiasami bo myślałem że coś kolejność myli ale wszystko jest ok. Jak zrobić by można było przesuwać bitmapę [jak ikonki na pulpicie] w SDL c++ ?