SDL a VS10
Ostatnio zmodyfikowano 2011-10-27 22:53
kemsai Temat założony przez niniejszego użytkownika |
SDL a VS10 » 2011-10-25 22:16:12 Witam. Ostatnio przerzuciłem się z Deva na VS 2010 Premium i mam taki problem. Korzystam z bilbioteki SDL, właściwie połowe przekopiowałem z deva gdzie wszystko leciało dobrze a w VS wogóle ne wyświetla obrazków... Dałem warunek sprawdzający czy wczytuje bez błędu i sie okazało zę raczej sie obrazek wczytać nie może z jakiegoś powodu. Oto kod, w którym używam SDL #include "StdAfx.h" #include "gra.h"
< code > Gra::Gra( void ) { okno = NULL; zamykanie = false; mapa = new Plansza( 1 ); tworzenieOkna(); for( int i = 0; i < 100; i++ ) { polozenieTla[ i ].h = 0; polozenieTla[ i ].w = 0; polozenieTla[ i ].x = 0; polozenieTla[ i ].y = 0; } }
Gra::~Gra( void ) { SDL_FreeSurface( okno ); delete mapa; SDL_Quit(); }
void Gra::tworzenieOkna() { if(( SDL_Init( SDL_INIT_EVERYTHING ) ==- 1 ) ) { return; } ladowanieGrafik(); okno = SDL_SetVideoMode( 800, 600, 32, SDL_SWSURFACE ); }
void Gra::ladowanieGrafik() { elementyTla = SDL_LoadBMP( "data/100.jpg" ); int currentSprite = 0; int line = 0; for( int i = 0; i < 100; i++ ) { if( currentSprite >= 8 ) { currentSprite = 0; line++; } polozenieTla[ i ].h = 100; polozenieTla[ i ].w = 100; polozenieTla[ i ].x = currentSprite; polozenieTla[ i ].y += 100 * line; currentSprite += 100; } }
void Gra::odwierzEkran() { rysujPodloze( 0 ); SDL_Flip( okno ); }
void Gra::rysujPodloze( int numer ) { punkt.x = 0; punkt.y = 0; punkt.w = 100; punkt.h = 100; for( int i = 0; i < 9; i++ ) { for( int j = 0; j < 7; j++ ) { punkt.x = 100 * i; punkt.y = 100 * j; SDL_BlitSurface( elementyTla, & polozenieTla[ numer ], okno, & punkt ); } } } |
|
Drraven |
» 2011-10-26 08:23:43 "data/100.jpg" może dodaj ./ albo nie masz wgl pliku :D i nie wiem czy na windowsie nie podawało się tak: "data\\plik.plik" |
|
DejaVu |
» 2011-10-26 08:29:59 To SDL wspiera pliki w formacie JPG??? |
|
kemsai Temat założony przez niniejszego użytkownika |
» 2011-10-26 11:28:32 Aakurat zmieniłęm jpeg dla testu czy będzie działać. Bo było bmp i też nie działało. |
|
DejaVu |
» 2011-10-26 11:40:46 No to nie stawiaj twierdzenia, że w Dev-C++ działał kod, a pod Visual C++ nie działa skoro go zmieniłeś. Ustaw również stosowny Working Directory w opcjach bo prawdopodobnie aplikacja uruchamia się w innym katalogu roboczym przez co nie widzi bitmap. |
|
kemsai Temat założony przez niniejszego użytkownika |
» 2011-10-26 11:47:32 Kod nawet wogóle nie zmieniony z deva też nie działał.
Ale tak wracając do głownego problemu to gdzie to working directorie można zmienić? I czy czasem nie mam dobrego skoro musiałem dokleić SDL.dll do tego folderu? |
|
DejaVu |
» 2011-10-26 11:50:00 Do tego, czyli jakiego? Working Directory w opcjach projektu się ustawia. |
|
kemsai Temat założony przez niniejszego użytkownika |
» 2011-10-26 12:16:45 Zmieniłem i nic nie pomogło. |
|
« 1 » 2 |