Autor Wątek: Warstwy i związane z nimi rysowanie  (Przeczytany 1414 razy)

Offline Dante

  • Użytkownik

# Kwiecień 06, 2014, 14:13:11
Dobry Wszystkim!

Robię sobie projekt na studia w allegro( kółko i krzyżyk ) i od kilku godzin irytuje mnie pewna rzecz:
Obecnie w projekcie mam takie "warstwy": screen -> bufor -> bmp jako tlo menu -> przyciski jako oddzielne bitmapy

Zrobiłem sobie klasę okna i po wciśnięciu przycisku rysuje nowe okno na tym tle. Napisałem też obsługę zdarzenia po wciśnięciu 'X' na rysowanym oknie:

w.status = 0 - w założeniu "nie rysuj okna"
w.status = 1 - "rysuj okno"

Po naciśnięciu 'X' w.status z 0 na 1 - wiadomo. No i oczywiście nie trybi. Ok, dałem zmienną warunkową( bool ) - też nic. Więc dla testu zrobiłem tak, żeby kiedy naciskam i trzymam na buttonie, wyświetlało się to okno( też nic ). Użyłem clear_to_color() na tlo i rysowałem okno na buforze...i co? Działa aż miło...I stąd pytanie: czemu wszystko działa na buforze, a jak dodam jakiś obrazek na bufor i rysuje na tym obrazku to nie trybi?? Po prostu się wyświetla i nie chce "zniknąć".

Pozdrawiam

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xirdus

  • Redaktor

# Kwiecień 06, 2014, 14:22:40
Bo nic samo nie znika. Z bufora się czyści bo cały czas nadpisujesz cały obraz tłem menu. W momencie gdy narysujesz coś na tle, zostanie to w tym tle na zawsze - chyba że przywrócisz to tło do poprzedniego stanu, nadpisując całą warstwę oryginalnym obrazem.

Ogólnie to powinieneś rysować tylko i wyłącznie na buforze ekranu, a resztę traktować jako "stałe", których po  utworzeniu już nie zmieniasz.

Offline Dante

  • Użytkownik

# Kwiecień 06, 2014, 14:28:40
Hmm, no chyba będę zmuszony, choć jest to dość mroczna wizja, aby wszystko uzależniać od bufora :/
cóż, dzięki za szybką odpowiedź...

Offline Xirdus

  • Redaktor

  • +1
# Kwiecień 06, 2014, 15:25:07
Nie jest mroczna wizja tylko normalne użycie bufora. Oczywiście jak chcesz możesz użyć wielu buforów.