j23 |
» 2016-05-29 10:16:49 test jaką ma wartość? |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2016-05-29 14:10:36 Więc tak, przy call stack podkresla mi linie z opcje.h #0 0x42e99d Opcje::fps(this=0x48b040 <opcje>) (C:/Users/Senatek/Desktop/test/hmm/opcje.h:69) #1 0x401f35 main() (C:\Users\Senatek\Desktop\test\hmm\main.cpp:246) mimo że tą linie za komentuję to i tak się jej czepia cout<<"Czas (s) : "<<czas_rzeczywisty<<" | petla zewnetrzna : "<<fps_p_z<<" | petla wewnetrzna : "<<fps_p_w<<" | na 1 fps : "<<fps_p_z/fps_p_w<<" fps zapasu"<<endl; Przy debugowaniu, na tej linijce program przestaje odpowiadać. Tak jak pisałem wcześniej plik .exe działa, żadnych błędów i problemów nie ma i to kompilowany przez code blocks ^.
|
|
j23 |
» 2016-05-29 19:09:32 Pokaż zawartość Opcje::fps. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2016-05-29 22:13:06 class Opcje { public: int r_x; int r_y; double czas_rzeczywisty; double czas; double czas_2; int fps_p_w; int fps_p_z; bool mysz; bool klawiatura; double kamera_x; double kamera_y; string haslo; char znaki_haslo[ 32 ]; string login; char znaki_login[ 32 ]; bool logowanie; int znaki_ilosc; Opcje() { czas = 0.0; czas_2 = 0.0; fps_p_w = 0; fps_p_z = 0; mysz = false; klawiatura = false; kamera_x = 0; kamera_y = 0; znaki_ilosc = 32; logowanie = false; } void znaki_reset() { for( int a = 0; a < znaki_ilosc; a++ ) { znaki_haslo[ a ] = '?'; znaki_login[ a ] = '?'; } } void rozdzielczosc( int numer ) { switch( numer ) { case 1: r_x = 640; r_y = 480; break; case 2: r_x = 900; r_y = 800; break; } } void czas_start( double allegro_czas ) { czas_rzeczywisty = allegro_czas; fps_p_z++; } bool fps() { if( czas_rzeczywisty >= czas_2 + 1 ) { cout << "Czas (s) : " << czas_rzeczywisty << " | petla zewnetrzna : " << fps_p_z << " | petla wewnetrzna : " << fps_p_w << " | na 1 fps : " << fps_p_z / fps_p_w << " fps zapasu" << endl; czas_2 = czas_rzeczywisty; fps_p_z = 0; fps_p_w = 0; } if( czas_rzeczywisty >= czas + 0.01666 ) { czas = czas_rzeczywisty; fps_p_w++; return true; } return false; } }; Opcje opcje;
|
|
j23 |
» 2016-05-30 11:13:00 Coś chyba źle odczytałeś z tego call stack, bo klasa Opcje ma się nijak do allegro i asercji, o której była mowa na początku. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2016-05-30 21:07:00 Call stack'iem nic nie sprawdze z tego co ja widze, wywala mi exe i woła dysku ^ Z ciekawości zrobiłem test z innym kodem skopiowanym z netu #include <allegro5/allegro.h> #include <allegro5/allegro_image.h> int main() { al_init(); al_install_keyboard(); al_init_image_addon(); ALLEGRO_KEYBOARD_STATE klawiatura; ALLEGRO_DISPLAY * okno = al_create_display( 320, 240 ); al_set_window_title( okno, "Allegro5 kurs pierwsze okno" ); ALLEGRO_BITMAP * obrazek = al_load_bitmap( "1.png" ); while( !al_key_down( & klawiatura, ALLEGRO_KEY_ESCAPE ) ) { al_get_keyboard_state( & klawiatura ); al_clear_to_color( al_map_rgb( 0, 255, 0 ) ); al_draw_bitmap( obrazek, 0, 0, 0 ); al_flip_display(); } al_destroy_display( okno ); al_destroy_bitmap( obrazek ); return 0; }
Jest ten sam problem Call stack w tym przypadku nawet nie reaguje. kod z błędem w konsoli: Assertion failed: bitmap, file d:\Libraries\build\allegro\src\allegro-git\allegro-git\src\bitmap_draw.c, line 138 This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. A plik exe normalnie się odpala. |
|
1aam2am1 |
» 2016-05-30 23:12:10 Możesz uruchomić jeszcze raz ten program i zobaczyć na co wskazuje obrazek? Edit. ALLEGRO_BITMAP * obrazek = al_load_bitmap( "1.png" );
Jaką wartość ma obrazek bo z twoich wszystkich komentarzy wynika, że program nie wczytuje poprawnie plików gdy jest uruchamiany przez Code::Blocks. A uruchamia się i działa gdy jest uruchomiony ręcznie. Rozwiązanie jest proste program po odpaleniu przez program ma inną "Execution working dir". O ile znam projekty Code::Block program znajduje się w folder_projektu\bin\Release\program.exe, a ścieżka uruchomienia programu przez Code::Blocks to folder_projektu\. A uruchomienia przez dwuklik to folder_projektu\bin\Release\program.exe. Więc aby rozwiązać twój program skopiuj fonta, bidmapy czy to co tam masz (włożyłeś do folderu) folder_projektu\bin\Release\ do folder_projektu. |
|
Nekronomik Temat założony przez niniejszego użytkownika |
» 2016-05-31 19:55:14 Nie bardzo rozumiem. Trochę posiedziałem i przy sprawdzaniu kodu linijka po linijce za pomocą "Next line" dostaję komunikat Cannot open file: d:\Libraries\build\allegro\src\allegro-git\allegro-git\src\system.c At d:\Libraries\build\allegro\src\allegro-git\allegro-git\src\system.c:182
|
|
1 « 2 » 3 |