Allegro 5 problem przy FULLSCREEN
Ostatnio zmodyfikowano 2013-09-22 14:33
Nekronomik Temat założony przez niniejszego użytkownika |
» 2013-06-17 22:06:25 W swoim projekcie używałem DIRECT3D lecz teraz zmieniałem na OPENGL i pojawiły się inne problemy tzn. program podczas zmiany rozdzielczości wyłącza się lub przestaje odpowiadać(czasami wszystko działa) i znika kursor myszy, w testach Gabesa z OPENGL też znika kursor. |
|
Gabes |
» 2013-06-17 22:38:45 W niektórych testach jest bitmapa bmp.png a w innych bmp.jpg nie sprawdzałem wczytywania jeśli nie będzie ich obok pliku .exe to program się zakończy bez ostrzeżenia.Nic innego mi nie przychodzi do głowy.Korzystałem z allegro-5.0.9-mingw-4.7.0 kompilacja Code::Blocks 12.11 z MinGW 4.7.1.
To raczej wiesz ale do linkera należy wpisać opengl32 no i dodać nagłówek. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2013-06-17 23:14:27 Przyznam się że nie dodałem opengl32 do linkera.Po dodaniu go program przy zmianie rozdzielczości od razu się zawiesza i za każdym razem.Z flagą ALLEGRO_FULLSCREEN_WINDOW wszystko dobrze działa tylko jej minus jest taki że nie zmienia rozdzielczośći. |
|
DejaVu |
» 2013-06-21 15:21:38 Doszedłeś już do jakiegoś rozwiązania? Temat wisi otwarty i nie wiadomo co z nim robić dalej :) |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2013-06-21 21:16:18 Niestety nie,i dobrze by było jak by temat był otwarty. Być może w końcu ktoś wpadnie na pomysł co jest nie tak albo mi się to uda. |
|
DejaVu |
» 2013-06-22 11:59:47 Moim zdaniem problem sprowadza się tylko i wyłącznie do zainstalowania poprawnej wersji biblioteki dla posiadanego kompilatora. Weź po prostu możliwie prosty kod źródłowy Allegro, który będzie miał nie więcej jak 15 linijek kodu, a następnie doprowadź do sytuacji, w której aplikacja uruchomi się w trybie pełnoekranowym i wyświetli teksturę poprawnie. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2013-09-22 14:33:10 W końcu udało mi się zmieniać rozdzielczość na fullscreen'ie bez spadku fps.Jedyny dziwny błąd jaki mam to jest brak kawałka bitmapy (np:wyświetlam koło a ono na górze jest trochę ścięte) przy zmianie trybu fullscreen na windowed. Po niżej zamieszczam kod; #include <allegro5/allegro.h> #include <allegro5/allegro_image.h> #include<iostream> using namespace std; int x = 0; ALLEGRO_BITMAP * OB1 = 0; void obrazek() { al_draw_bitmap( OB1, x, 200, 0 ); } int main() { ALLEGRO_DISPLAY * display = NULL; ALLEGRO_DISPLAY * display1 = NULL; al_init(); al_set_new_display_flags( ALLEGRO_FULLSCREEN ); display = al_create_display( 640, 480 ); al_init_image_addon(); al_install_keyboard(); ALLEGRO_KEYBOARD_STATE Key; al_get_time(); OB1 = al_load_bitmap( "p.png" ); double time1 = 0; bool xw = false; bool wcisniety = false; double czas_fps = 0; int fps = 0; for(;; ) { al_get_keyboard_state( & Key ); if( al_get_time() > time1 + 0.01 ) { time1 = al_get_time(); obrazek(); if( x < 600 && xw == false ) x++; if( x >= 600 ) xw = true; if( xw == true ) x--; if( x <= 0 ) xw = false; al_flip_display(); al_clear_to_color( al_map_rgb( 255, 255, 255 ) ); } if( al_key_down( & Key, ALLEGRO_KEY_Q ) && wcisniety == false ) { al_destroy_display( display ); al_set_new_display_flags( ALLEGRO_WINDOWED ); display1 = al_create_display( 1280, 1024 ); al_init_image_addon(); OB1 = al_load_bitmap( "p.png" ); wcisniety = true; } if( al_key_down( & Key, ALLEGRO_KEY_Q ) == false ) wcisniety = false; if( al_get_time() > czas_fps ) { czas_fps = czas_fps + 1; cout << fps << endl; fps = 0; } fps++; if( al_key_down( & Key, ALLEGRO_KEY_ESCAPE ) ) break; } al_destroy_bitmap( OB1 ); al_destroy_display( display ); return 0; } |
|
1 2 « 3 » |