Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Allegro, C++] Wyświetlanie tła i animacji jednocześnie.

Ostatnio zmodyfikowano 2010-05-19 23:26
Autor Wiadomość
lemis.aryl
Temat założony przez niniejszego użytkownika
» 2010-05-19 12:51:13
Chodzi mi o to, że namalowałem postać w paintcie na białym tle, które wyświetla mi się wraz z postacią. Ściągnąłem grę (wraz z napisanym kodem) "spako". Tam "ludziki" były namalowane na różowym tle i ich tło nie pojawiało się w grze.

Chciałbym uzyskać właśnie taki efekt.
P-16992
DejaVu
» 2010-05-19 13:00:45
Użyj więc różowego koloru :)
P-16994
lemis.aryl
Temat założony przez niniejszego użytkownika
» 2010-05-19 13:07:08
Spróbowałem i częściowo działa. Pojawił się następny problem;
Wyświetla mi na przemian tło i animację:
C/C++
blit( bufor_tlo, screen, 0, 0, 0, 0, 640, 480 );
blit( bufor, screen, ludek_x, ludek_y, ludek_x, ludek_y, 100, 100 );
A biały kwadrat, w którym znajduje się postać to (100, 100) z funkcji blit().
Z masked_blit() próbowałem i efekt był jeszcze gorszy.
Jak zrobić żeby mi nie wyświetlało tego kwadratu?

P-16997
DejaVu
» 2010-05-19 13:08:22
Przeczytaj kurs noooooooooooooooooooo tam jest napisane jak byk, że trzeba użyć innej funkcji.
P-16998
lemis.aryl
Temat założony przez niniejszego użytkownika
» 2010-05-19 13:17:07
O podwójnym buforowaniu jest napisane tak:
C/C++
masked_blit( ludek, bufor, 0, 0, ludek_x, ludek_y, ludek->w, ludek->h );
Kopiujemy bufor na ekran:
C/C++
blit( bufor, screen, 0, 0, 0, 0, 640, 480 );
A o animasjach tak:
C/C++
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 ); }

blit( bufor, screen, 0, 0, 0, 0, 640, 480 );
}
Miałeś na myśli ten kurs?
P-16999
DejaVu
» 2010-05-19 14:28:46
1. połóż długopis na stole
2. Połóż kartkę długopisie
3. Co widać?
Jak tak rysujesz po ekranie lub po buforach lub wstawiasz radośnie wszystko gdzie popadnie to nie dziw się, że nie działa tak jak trzeba. Przeczytaj jeszcze raz kurs allegro powoli, bo co i rusz masz pytania takie, które nie powinny mieć miejsca gdybyś przeczytał go uważnie i ze zrozumieniem.

Ja się mogę produkować jeszcze 3h, a Ty i tak będziesz miał prawdopodobnie pytania dopóki nie dostaniesz gotowego kodu.

Wiem, że forum jest po to by pomagać i pomoc dostałeś poprzez wskazanie Ci co robisz źle i co musisz doczytać żeby dojść do przyczyny błędu. Malan w innym temacie po 3 dniach stracił cierpliwość i napisał rozwiązanie, więc być może za 3 dni zrobi tu to samo, no ale myślę, że sam sobie poradzisz z problemami dalej mając na tacy podane w czym leży błąd i gdzie jest odpowiedź.
P-17003
lemis.aryl
Temat założony przez niniejszego użytkownika
» 2010-05-19 23:26:19
Ok. Już mam. Wielkie dzięki za pomoc.
P-17027
1 « 2 »
Poprzednia strona Strona 2 z 2