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

[c++/allegro] Problem z porszuaniem

Ostatnio zmodyfikowano 2015-12-16 13:33
Autor Wiadomość
Capitan
Temat założony przez niniejszego użytkownika
[c++/allegro] Problem z porszuaniem
» 2015-12-10 13:43:09
Ahoj,
zrobiłem postać i samochód, które się poruszają po mapie kafelkowej. Chciałem zrobić, by po naciśnięciu klawisz np. ENTER, postać wchodziła do samochodu, a po ponownym naciśnięciu wychodziła - (tak jak np. w GTA)

Mam problem, bo czasami po naciśnięciu wszystko działa - postać znika, kierujemy samochodem, a czasami nic nie robi i trzeba kliknąć kilka razy by "załapało"


C/C++
if( key[ KEY_ENTER ] )
{
    if( player.move )
    {
        car.move = true;
        player.move = false;
        player.life = false;
    }
    else
    {
        player.move = true;
        car.move = false;
        player.life = true;
        player.x = car.x;
        player.y = car.y;
    }
}

C/C++
void PLAYER::Draw( int width, int height, bool life )
{
    if( life )
    {
        blit( bmp, anim,( int ) frame * PLAYER_SIZE, 0, 0, 0, width, height );
        rotate_center_sprite( bufor, anim, x - map.scrollx, y - map.scrolly, itofix( dir ) );
    }
}

C/C++
void logic()
{
   
    if( car.move )
    {
        car.Operate();
    }
    else
    {
        player.Operate();
    }
   
    if( key[ KEY_ESC ] ) wayout = true;
   
}
P-141713
DejaVu
» 2015-12-16 13:33:44
Przypuszczam, że musisz wykrywać fakt wciśnięcia klawisza, a nie fakt, że jest on wciśnięty.
P-142040
« 1 »
  Strona 1 z 1