C ++ SDL,SDL_image问题

时间:2013-11-18 02:32:51

标签: c++ mingw sdl codeblocks sdl-image

IDE:Code :: blocks 编译器:MinGW

我正确安装了SDL和SDL_image(构建时不会出现任何错误)。 一切都编译得很好但是当我运行时,SDL窗口出现,但图像永远不会闪烁,窗口。我使用SDL_image,所以我可以加载PNG图像(或者我希望如此)。

代码:

#include <cstdlib>
#include <iostream>
#include "SDL_image.h"
#include <SDL/SDL.h>

int main ( int argc, char** argv )
{
    SDL_Surface* test = NULL;
    SDL_Surface* screen = NULL;
    //Start SDL
    SDL_Init( SDL_INIT_EVERYTHING );

    //Name the window
    SDL_WM_SetCaption( "Test-1", NULL );
    //Set up screen
    screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );

    //Load image
    test = IMG_Load("Test.png");
    //Apply image to screen
    SDL_BlitSurface( test, NULL, screen, NULL );
    //Update Screen
    SDL_Flip( screen );

    //Pause
    SDL_Delay( 2000 );
    //Free the loaded image
    SDL_FreeSurface( test );

    //Quit SDL
    SDL_Quit();

    return 0;
}

1 个答案:

答案 0 :(得分:0)

也许您可以尝试创建一个窗口然后再创建一个表面,然后通过曲面将图像blit到窗口上?然后你可以试试这个功能:     SDL_UpdateWindowSurface(*windowinstance*)

这里有更多信息:link(虽然这是加载一个* .bmp文件,但我确定这个概念是一样的)。也可以尝试上面提到的答案。可能只是找不到图像...