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

[allegro]Spowolnienie animacji postaci.

Ostatnio zmodyfikowano 2012-01-13 16:14
Autor Wiadomość
ly000
Temat założony przez niniejszego użytkownika
[allegro]Spowolnienie animacji postaci.
» 2012-01-12 23:19:29
Witam, napisałem coś takiego:

C/C++
void anim( int sx, int sy )
{
    sx = sx * 40;
    sy = sy * 36;
    masked_blit( postac, bufor, sx, sy, postac_x, postac_y, 40, 36 );
}
//...
if( f > 2 )
{
    f = 0;
}
//...
klaw = false;

if(( key[ KEY_RIGHT ] ) &&( mapa_x < 14 ) ) { e = 2; klaw = true; klicz++;
    mapa_x = mapa_x + 1; }

if(( key[ KEY_LEFT ] ) &&( mapa_x > 0 ) ) { e = 3; klaw = true; klicz++;
    mapa_x = mapa_x - 1; }

if(( key[ KEY_DOWN ] ) &&( mapa_y < 40 ) ) { e = 0; klaw = true; klicz++;
    mapa_y = mapa_y + 1; }

if(( key[ KEY_UP ] ) &&( mapa_y > 0 ) ) { e = 1; klaw = true; klicz++;
    mapa_y = mapa_y - 1; }
//...
anim( e, f );
//...
if( klaw == true )
{
    f++;
}

Tzn. mamy jakiś plik bmp z wszystkimi animacjami postaci oraz funkcje w kodzie która kopiuję odpowiednią animacje.
zmienna e odpowiada za animacje podstawowe : obrót postaci w prawo lewo itp.(jest ich 4)
a zmienna f odpowiada za poruszanie nogami.(jest ich 8,)
Mam nadzieje że zrozumieliście coś z tych bzdur ;].

I teraz chciałbym to tak przerobić żeby postać poruszała wolniej nogami.
1 kratka do przodu = 1 zmiana nogi. Bo teraz to wygląda bardzo nierealistycznie.

Ktoś ma jakieś pomysły? Będę wdzięczny za pomoc ;]
P-48048
draculeq
» 2012-01-13 01:56:48
możesz sobie zrobić zmienna pomocniczą którą będziesz zwiększał w funkcji jak speed==1, i jeśli pomocnicza%2==0 to a++; i wtedy masz 2x wolniej
P-48052
hincu
» 2012-01-13 06:43:36
poczytaj o timerach
P-48053
draculeq
» 2012-01-13 08:52:25
Na forum bardzo słabo są wytłumaczone timery, poza tym jak kolega mówi że ma animacje to życzę powodzenia w oglądaniu ich bez timerów :D
P-48056
ly000
Temat założony przez niniejszego użytkownika
» 2012-01-13 12:57:45
Próbowałem stworzyć oddzielny timmer dla animacji, ale wtedy postać czasami znikała.
P-48063
Gabes
» 2012-01-13 13:50:23
Postaci wyświetlaj normalnie a timer daj do funkcji przemieszczania czy wyświetlania poszczególnych klatek animacji.Przykładzik
http://www.wrzuc.to/2bjIQP.wt
Dałem dwa timery.
Przykład w Code Blocks i Allegro 4.4.2 nie ma sensu siedzieć w roku 2005 i 2007 gdy są bardziej nowoczesne środowiska i nowsze wersje bibliotek.

P-48064
ly000
Temat założony przez niniejszego użytkownika
» 2012-01-13 16:14:08
Hmmm...
Jednak skorzystałem z tego co napisał draculeq, proste rozwiązanie, dziwne że sam na to nie wpadłem :D.
Dzięki.
P-48083
« 1 »
  Strona 1 z 1