lemis.aryl Temat założony przez niniejszego użytkownika |
[Allegro, C++] Wyświetlanie tła i animacji jednocześnie. » 2010-05-18 22:02:09 Zrobiłem animację według opisu z kursu z tej strony i wyświetliłem ją tak: blit( bufor, screen, 0, 0, 0, 0, 640, 480 );
I do tego chciałem, żeby pojawiło mi się tło i nie mając innego pomysłu zrobiłem to tak: blit( tlo, screen, 0, 0, 0, 0, 640, 480 );
Efekt jest taki, że tło mruga na zmianę z animacją. Co zrobić, żeby tak się nie działo. |
|
kamillo121 |
» 2010-05-18 22:17:55 |
|
lemis.aryl Temat założony przez niniejszego użytkownika |
» 2010-05-18 23:46:43 Robiąc animację ładuję obrazki do bufora: if( frame < 20 ) { draw_sprite( bufor, ludek0, ludek_x, ludek_y ); } else if( frame >= 20 && frame < 40 ) { draw_sprite( bufor, ludek1, ludek_x, ludek_y ); } else if( frame >= 40 && frame < 60 ) { draw_sprite( bufor, ludek2, ludek_x, ludek_y ); } else if( frame >= 60 && frame < 80 ) { draw_sprite( bufor, ludek3, ludek_x, ludek_y ); }
po wpisaniu: masked_blit( tlo, bufor, 0, 0, 0, 0, 640, 480 )
pokazywało mi tylko tło. Próbowałem zrobić kilka buforów: masked_blit( tlo, bufor_wys, 0, 0, 0, 0, 640, 480 ); masked_blit( bufor, bufor_wys, 0, 0, ludek_x, ludek_y, 100, 100 ); blit( bufor_wys, screen, 0, 0, 0, 0, 640, 480 );
bufor - dla animacji bufor_tlo - dla tła bufor_wys - do wyświetlania Pojawiło mi się tło, ale zamiast animacji pojawiał mi się biały kwadrat(100,100), a w nim moja animacja. Gdy chciałem nią poruszyć biały kwadrat przesuwał się wolniej od animacji i w końcu animacja wychodziła z niego, znikając. Animacja pojawiała się tylko wtedy gdy w: masked_blit( bufor, bufor_wys, 0, 0, ludek_x, ludek_y, 100, 100 );
zamiast "0,0" wpisałem liczby od 20 do 120. Dla innych liczb pojawia się tylko biały kwadrat. |
|
DejaVu |
» 2010-05-19 12:10:53 Najpierw rysuj tło, a potem pozostałe obiekty na buforze. Na końcu przekopiuj bufor na ekran i finito. |
|
lemis.aryl Temat założony przez niniejszego użytkownika |
» 2010-05-19 12:26:21 Czy tak miałem zrobić?: blit( bufor_tlo, screen, 0, 0, 0, 0, 640, 480 ); blit( bufor, screen, ludek_x, ludek_y, ludek_x, ludek_y, 100, 100 );
Tło przestało mrugać ale jeszcze trochę mruga moja postać(animacja). Jak usunąć tło z bitmapy? Chciałbym, żeby wyświetlało mi samą postać bez jego tła( postać pojawia się w białym polu z którym wędruje po ekranie). |
|
DejaVu |
» 2010-05-19 12:30:09 Dostałeś odpowiedź słowną w 100% poprawną. Jest kurs Allegro, który to demonstruje, a jeśli nie to z pewnością to dobrze tłumaczy. Jest również pełno przykładów na forum, które wykorzystują buforowanie. Wysil się trochę... |
|
lemis.aryl Temat założony przez niniejszego użytkownika |
» 2010-05-19 12:35:48 Ok. Odnośnie buforowania jeszcze poszukam. A jeśli chodzi o te usuwanie tła? Jak zrobić żeby znikło? |
|
DejaVu |
» 2010-05-19 12:42:10 Tło zawsze jakieś jest - chociażby czarne. Jeżeli Tło = obrazek to zamiast obrazka wyświetlaj czarny prostokąt (jeżeli czarny prostokąt = puste dla Ciebie). |
|
« 1 » 2 |