SDL - Problem z wyświetlaniem obrazów.
Ostatnio zmodyfikowano 2013-12-19 21:23
Sharrk Temat założony przez niniejszego użytkownika |
SDL - Problem z wyświetlaniem obrazów. » 2013-12-18 20:08:06 Witam! Nie mam pojęcia czemu, ale nie wyświetlają mi się obrazy. Jedyne co widzę po skompilowaniu to okienko wypełnione białym kolorem. Inne projekty kompilują się bez problemu, a we wszystkich mam tak samo ustawione properties. Używam Visuala 2013 Pro. Plik main.cpp: #include <SDL.h> #include <SDL_image.h> #include <SDL_ttf.h> #include <SDL_thread.h> #include <iostream> #include <string> #include "klasy.h" #include "funkcje.h"
SDL_Window * gWindow = NULL;
SDL_Surface * gScreenSurface = NULL;
SDL_Surface * tlo_menu_glownego = NULL; SDL_Surface * start_gry = NULL; SDL_Surface * koniec_gry = NULL;
bool loadmedia() { start_gry = SDL_LoadBMP( "start_gry.bmp" ); koniec_gry = SDL_LoadBMP( "koniec.bmp" ); tlo_menu_glownego = SDL_LoadBMP( "tlo_menu_glownego.bmp" ); return true; }
int main( int argc, char ** argv ) { bool quit = false; bool pierwszy_raz = false; przycisk zaczyjanacy_gre; przycisk konczacy_gre; SDL_Event wydarzenie; init( gWindow, gScreenSurface ); loadmedia(); while( !quit ) { SDL_BlitSurface( tlo_menu_glownego, NULL, gScreenSurface, NULL ); SDL_UpdateWindowSurface( gWindow ); if( !pierwszy_raz ) { zaczyjanacy_gre.wgraj_przycisk( 290, 480, start_gry, gScreenSurface ); konczacy_gre.wgraj_przycisk( 290, 960, koniec_gry, gScreenSurface ); SDL_UpdateWindowSurface( gWindow ); pierwszy_raz = true; } } return 0; }
Plik klasy.cpp: #include <SDL.h> #include "klasy.h"
void postac::poruszanie() { }
void przycisk::wgraj_przycisk( int x, int y, SDL_Surface * surface, SDL_Surface * przeznaczenie ) { ksztalt.x = x; ksztalt.y = y; SDL_BlitSurface( surface, NULL, przeznaczenie, & ksztalt ); }
Plik funkcje.cpp #include <SDL.h> #include "funkcje.h" #include "klasy.h"
bool init( SDL_Window * siemek, SDL_Surface * siemekSurface ) { siemek = SDL_CreateWindow( "Shit Happens", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 1920, 1080, SDL_WINDOW_SHOWN ); siemekSurface = SDL_GetWindowSurface( siemek ); return true; }
void wgraj_surface( int x, int y, SDL_Surface * surface, SDL_Surface * przeznaczenie ) { SDL_Rect polozenie; polozenie.x = x; polozenie.y = y; SDL_BlitSurface( surface, NULL, przeznaczenie, & polozenie ); }
plik klasy.h #ifndef klasy_h #define klasy_h
class postac { private: SDL_Rect ksztalt; int x = 0; int y = 0; public: void poruszanie(); };
class przycisk { private: SDL_Rect ksztalt; int x = 0; int y = 0; public: void wgraj_przycisk( int x, int y, SDL_Surface * surface, SDL_Surface * przeznaczenie ); };
#endif
plik funkcje.h #include "klasy.h"
#ifndef funkcje_h #define funkcje_h
bool loadmedia();
bool init( SDL_Window *, SDL_Surface * );
void wgraj_surface( int, int, SDL_Surface *, SDL_Surface *, SDL_Window * );
void menu_glowne();
#endif
|
|
MrPoxipol |
» 2013-12-18 21:03:55 Może nie rysujesz? ew bardziej prawdopodobne jest to, że plik nie został wczytany. |
|
Sharrk Temat założony przez niniejszego użytkownika |
» 2013-12-19 21:23:01 Dziękuję za odpowiedz, ale już rozwiązałem sprawę. Zamykam temat. |
|
« 1 » |