Skocz do zawartości

"Globalne" wykonywanie kodu wiele razy na sekundę


kkuba

Rekomendowane odpowiedzi

Witam.

Na początku zaznaczę, że w gml jestem newbie.

Otóż chcę, by po naciśnięciu danego klawisza pewien obiekt zaczął "przyspieszać", aż do uzyskania maksymalnej, określonej przeze mnie prędkości.

Puszczenie klawisza oznaczałoby stopniowe zwalnianie, aż obiekt się zatrzyma.

 

W języku, w którym programowałem wcześniej wyglądałoby to mniej/więcej tak:

 

Timer

SetTimer("ehe",100,1); // wykonywanie kodu z public'u "ehe" co 100 ms, powtarzanie w kółko

 

Public

forward ehe();
public ehe()
{
    if(wcisniety_jest_klawisz(pewien_klawisz))
    {
        if(hspeed>=5) return 1;
        hspeed+=0.1;
    }
    else
    {
        if(hspeed>0) hspeed-=0.07;
    }
    return 1;
}

 

Być może ktoś miał doczynienia z pawn dla sa-mp i będzie w stanie mi ten kod "przetłumaczyć" na gml ;)

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

W czym wcześniej pisałeś? :>

 

Tak w ogóle to lepiej wrzucić do step:

GML
if( keyboard_check( vk_up ) )

{

if( hspeed < 5 )

{

hspeed += 0.1;

}

else

{

hspeed = 5;

}

}

else

{

if( hspeed > 0 )

{

hspeed -= 0.07;

}

else

{

hspeed = 0;

}

}

I to masz wykonywane 1 raz na 1/30 sekundy.
Odnośnik do komentarza
Udostępnij na innych stronach

Wcześniej pisałem (jak z resztą wspomniałem) w pawn - język programowania do m.in. gier multiplayerowych takich jak Counter Strike i GTA San Andreas Multiplayer (ja akurat miałem styczność z tym drugim).

 

Co do kodu - dokładnie o to mi chodziło, wielkie dzięki! ; )

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...