Timer – czyli ustalanie prędkości wykonywania pętli bez względu na

Transkrypt

Timer – czyli ustalanie prędkości wykonywania pętli bez względu na
Timer – czyli ustalanie prędkości wykonywania pętli bez względu na prędkość
komputera.
Używanie Timerów:
1. Deklaracja zmiennej i funkcji przed funkcją główną main
long int speed=0;
void increment_speed()
{
speed++;
}
2. Następnie w funkcji głównej instalujemy timer i ustawiamy pożądaną
prędkość (liczba cykli na sekundę wykonania pętli):
install_timer();
install_int_ex(increment_speed, BPS_TO_TIMER(100));
3. W naszej pętli nieskończonej wstawiamy pętlę sterowaną przez nasz
timer:
while( speed > 0)
{
// Tu wstawiamy procedury, które mają być wykonywane z zadaną
częstotliwością.
speed--;
}
Animacje
Praktycznie animacja w bibliotece Allegro to zmiana poszczególnych klatek
animacji zapisanych w jednym pliku bmp z określoną prędkością. Do
wczytywania części obrazu (określonej klatki) używamy funkcji masked_blit.
Funkcja ta ignoruje kolor różowy (R=255,G=0,B=255)
Do sterowania prędkością animacji używamy Timerków.
Obrazek – wskaźnik na bitmapę zawierającą poszczególne klatki animacji
(lewy górny róg bitmapy ma współrzędne (0,0).
masked_blit(obrazek, screen, odkad_kopiujemy_obrazek_x,
odkad_kopiujemy_obrazek_y, polozenie_fragmentu_x, polozenie_fragmentu_y,
szerokość_fragmentu, wysokość_fragmentu);
Funkcja blit wygląda analogicznie jak mask_blit z tym, że nie ignoruje
koloru różowego.
Zapoznaj się z tutorialem
http://www.easykoder.vot.pl/arty/animacja_postaci
Potrzebne pliki pobierzesz w dziale download.

Podobne dokumenty