Programer Temat założony przez niniejszego użytkownika |
Czyszczenie tła (allegro) » 2009-10-14 13:48:44 Mam taki problem - tworzę sobię grę i po wyświetleniu kropki na tle ona zamalowywuje mi tło. Nie mogę korzystać z funkcji clear_to_color bo tło jest wielokolorowe. Jest jakiś inny sposób, aby za każdym obiegiem pętli czyścić tło do jego pierwotnego stanu? Kod: t.i = t.kolizja( t.kropa_x, t.kropa_y, t.kropa_x2, t.kropa_y2, t.kropa_x3, t.kropa_y3, t.kropa_x4, t.kropa_y4, 100, 100, 700, 500 ); t.ruch(); blit( t.kropa, t.tlo, 0, 0, t.kropa_x, t.kropa_y, t.kropa->w, t.kropa->h ); blit( t.tlo, screen, 0, 0, 0, 0, 800, 600 );
|
|
pekfos |
» 2009-10-14 17:07:53 musisz mieć tło zapisane w zmiennej BITMAP. czyścisz bufor clear_to_color() rysujesz tło i masz |
|
Programer Temat założony przez niniejszego użytkownika |
» 2009-10-15 13:49:05 Przecież tutaj buforem jest tło... A na tle nie mogę użyć clear_to_color, bo tło jest wielokolorowe! |
|
DejaVu |
» 2009-10-15 13:59:29 1) utwórz drugi bufor wielkości ekranu. 2) utwórz w tym nowym buforze tło. 3) czyść bufor ekranu, buforem z tłem. 4) rysuj na buforze ekranu. 5) wyświetl bufor ekranu na ekranie. |
|
Programer Temat założony przez niniejszego użytkownika |
» 2009-10-18 20:46:35 Dalej nie działa... Teraz kod wygląda tak: clear_to_color( t.bufor, makecol( 0, 0, 0 ) ); t.i = t.kolizja( t.kropa_x, t.kropa_y, t.kropa_x2, t.kropa_y2, t.kropa_x3, t.kropa_y3, t.kropa_x4, t.kropa_y4, 100, 100, 700, 500 ); t.ruch(); blit( t.kropa, t.tlo, 0, 0, t.kropa_x, t.kropa_y, t.kropa->w, t.kropa->h ); blit( t.tlo, t.bufor, 0, 0, 0, 0, t.tlo->w, t.tlo->h ); blit( t.bufor, screen, 0, 0, 0, 0, 800, 600 ); |
|
DejaVu |
» 2009-10-18 21:18:57 To zrób: bufor <- tło bufor <- grafika bufor <- grafika ekran <- bufor |
|
Programer Temat założony przez niniejszego użytkownika |
» 2009-10-18 21:21:55 Mam wyświetlić kropę na buforze? - nie działa.
Daj kod, bo się zaraz załamię :(
@edit - Już działa, zła kolejność w kodzie była, dzięki za pomoc :) |
|
« 1 » |