Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SDL 2.0] SDL_img - problem z załadowaniem obrazu png - ubuntu 13.04 code::blocks

Ostatnio zmodyfikowano 2014-01-07 13:43
Autor Wiadomość
pootie
Temat założony przez niniejszego użytkownika
[SDL 2.0] SDL_img - problem z załadowaniem obrazu png - ubuntu 13.04 code::blocks
» 2014-01-07 13:43:42
Witam mam problem z działaniem kodu. Uzywam Ubuntu 13.04 x86 i code::blocks.

zainstalowałem biblioteki SDL2.0 i SDL2_image do tego zlib i libpng oraz libpng16;

C/C++
#include <zlib.h>
#include <libpng/png.h>
#include <libpng16/png.h>
#include <SDL2/SDL.h>
#include <SDL2/SDL_image.h>
#include <iostream>


using namespace std;

int main( int argc, char * argv[] )
{
    bool quit = false;
   
    SDL_Init( SDL_INIT_EVERYTHING );
   
    SDL_Window * window = NULL;
   
    window = SDL_CreateWindow( "My first RPG!", 100, 100, 800, 600, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE );
   
    if( window == NULL )
    {
        cout << "Window couldn't be created";
        return 0;
    }
   
    SDL_Renderer * renderer = NULL;
   
    renderer = SDL_CreateRenderer( window, 0, SDL_RENDERER_ACCELERATED );
   
    SDL_Event * mainEvent = new SDL_Event();
   
   
    SDL_Texture * grass_image = NULL;
    grass_image = IMG_LoadTexture( renderer, "images/grass2.bmp" );
   
    SDL_Rect grass_rect;
    grass_rect.x = 0;
    grass_rect.y = 0;
    grass_rect.w = 800;
    grass_rect.h = 600;
   
   
    SDL_Texture * knight = NULL;
    knight = IMG_LoadTexture( renderer, "images/prophet.png" );
   
    SDL_Rect knight_rect;
    knight_rect.x = 100;
    knight_rect.y = 100;
    knight_rect.w = 200;
    knight_rect.h = 170;
   
   
   
    while( !quit && mainEvent->type != SDL_QUIT )
    {
        SDL_PollEvent( mainEvent );
        SDL_RenderClear( renderer );
       
        SDL_RenderCopy( renderer, grass_image, NULL, & grass_rect );
        SDL_RenderCopy( renderer, knight, NULL, & knight_rect );
       
        SDL_RenderPresent( renderer );
       
    }
   
    SDL_DestroyTexture( grass_image );
    SDL_DestroyTexture( knight );
    SDL_DestroyWindow( window );
    SDL_DestroyRenderer( renderer );
    delete mainEvent;
   
   
   
    return 0;
}

klikam f9
i wyświetla się okno z obrazem bmp (grass.bmp), bez png (prophet.png)

ustawienia linkera:

-lz
-lm
-lpng16
-lpng
-lSDL2
-lSDL2_image


EDIT:
 rozwiązanie znalazłem tutaj:
http://twinklebear.github.io/sdl2%20tutorials/2013/08/18/lesson-3-sdl-extension-libraries/
P-101497
« 1 »
  Strona 1 z 1