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.