[Allegro5] Bitmapy i ich przesuwanie
Ostatnio zmodyfikowano 2010-01-18 20:38
Drraven Temat założony przez niniejszego użytkownika |
[Allegro5] Bitmapy i ich przesuwanie » 2010-01-17 20:12:25 Siema. Piszę grę "Maniek" (coś w stylu mario) i napotkałem taki problem nie wiem jak przesuwać bitmapę (hero.bmp) próbowałem: while( !key[KEY_ESC]) { if( key[KEY_LEFT]) ludek_x--; if( key[KEY_RIGHT]) ludek_x++; if( key[KEY_UP]) ludek_y--; if( key[KEY_DOWN]) ludek_y++;
//clear_to_color(screen, makecol(10,10,10)); //rest(1); masked_blit( ludek, screen, 0,0, ludek_x, ludek_y, ludek->w, ludek->h); } jeśli ktoś wie jak to proszę o pomoc. |
|
WunM |
» 2010-01-17 20:24:33 To na pewno jest Allegro5? |
|
malan |
» 2010-01-17 23:10:33 |
|
Drraven Temat założony przez niniejszego użytkownika |
» 2010-01-18 15:46:37 ten kod to z easykoder'a jest ale nie wiem jak to zrobić. u mnie pętla główna wygląda (narazie) jakoś tak: while( !al_key_down( & key_state, ALLEGRO_KEY_ESCAPE ) ) {
http://alleg.sourceforge.net/a5docs/refman/keyboard.html#TOC-key-codestu są kody klawiszy ale czy: !al_key_klawisz lub ALLEGRO_KEY_SPACE, to te same błędy mam już podwójne budorowanie if( !al_create_display( 640, 480 ) ) { std::cout << "Nie udalo sie utworzyc buforu!" << std::endl; getchar(); return; }
ten kod sam napisałem i teraz pytanie czy to jest dobrze bo if ( !al_create_display(640,480) ) tworze ekran. |
|
malan |
» 2010-01-18 20:38:01 Tuorial easykoder'a jest do allegro, ale w wersji 4.2.2, więc nie dziw się, że program nie działa skoro namieszałeś. Ja bym Ci radził na początek opanować tą starszą wersję allegro, bo jest łatwiejsza, a potem ewentualnie wziąć się za allegro 5 (ale to tylko moje zdanie). Wracając do tematu... zasada jest ogólnie taka: 1. Tworzenie bufor, 2. Wczytywanie bitmap, 3. Główna pętla (najczęściej while( !key[KEY_ESC] ) (w all 4.2)): 3.1. Czyszczenie bufora, 3.2. Sprawdzanie, czy nie został wciśnięty dany klawisz, 3.3. Wyświetlanie wszystkich bitmap na buforze, 3.4 Wyświetlanie bufora na ekranie (screen), 4. Po wyjściu z pętli: 4.1. Usuwanie bitmap z pamięci.
if ( !al_create_display(640,480) ) tworze ekran.
|
Wow, niezły jesteś. Ja bez ekranu długo bym nie pociągnął ( okno, nie ekran) :). |
|
« 1 » |