[C, SDL] Nie mogę wstawić grafiki poza lewą i górną krawędzią ekranu


(DarthVader3105) #1

Witam

Mam problem z wyświetlaniem grafiki przez funkcję SDL_BlitSurface(img, NULL, screen, &imgRect);. W jednym z programów, gdy zmniejszałem, wartość imgRect.x i imgRect.y, obraz zatrzymywał się przy krawędzi w pozycji 0, jednakże przez chwilę jest poza krawędzią. Dodam, że nie widzę i raczej nie mam żadnej instrukcji, która by bezpośrednio zerowała współrzędną, jeżeli by była liczbą ujemną. Miałem taką instrukcję ale zakomentowałem, lecz nie działa dalej jak trzeba, zarówno gdy przesuwam to myszą, jak i klawiaturą. Używam instrukcji: imgRect.* +/-= 10; przy przesuwaniu klawiaturą. Ten błąd dotyczy również grafiki, do której zerowania współrzędnych nie używałem. W innym programie mi wszystko działa jak należy. Co dodać, zmienić lub zrobić, żeby mi działało?

Mógłbym teoretycznie zrobić też SDL_BlitSurface(img, &imgRect, screen, NULL);, ale z tym by mogło być sporo zabawy… :confused: