Mam problem ze stworzeniem funkcji odpowiadającej za sterowanie - chodzi mi o płynne poruszanie ludzikiem.
Klawiszami prawo i lewo ustawiam stronę, w którą ludzik patrzy - natomiast strzałka w górę i w dół powoduje ruch w kierunku w którym ustawiłem go strzałkami lewo i prawo.
A więc mój ludek, ma chodzić po ukosie - w kierunku ustawionym przez strzałki.
Programuję w C++ Allegro i aktualnie mam coś takiego :
(Potrafię obrócić ludzikiem w prawo i w lewo oraz poruszać się w górę i w dół - natomiast nie wiem jak zrobić, aby poruszał się w kierunku wyznaczonym przez obrót - klawisze lewo i prawo) :
[code]
if ( key[KEY_UP])
{
y--;
}
if( key[KEY_DOWN])
{
y++;
}
if( key[KEY_LEFT])
{
obrot = obrot - 0.5;
}
if( key[KEY_RIGHT])
{
obrot = obrot + 0.5;
}
rotate_sprite( screen, obiekt, int (x), int(y), itofix( int(obrot)) );[/code]
Podejrzewam, że trzeba będzie skorzystać z funkcji trygonometrycznych - próbowałem, ale bez skutecznie (coś mi nie wychodziło).
Jeżeli ktoś nie zrozumiał to wrzucam screen - jeżeli graliście np. w gta2 to chodzi mi o takie samo sterowanie - tzn. strzałkami lewo i prawo nie poruszam człowiekiem tylko ustalam kierunek. Natomiast klawisze przód i tył służą do poruszania :