-1
最近我决定开始使用SDL 2.0 Visual Studio 2013制作2D游戏。我创建了该窗口,但是当我尝试加载png或jpg图像时,它不起作用。我试图改变代码,但没有任何工作。希望你们能帮助,非常感谢。无法使用SDL 2.0加载图像
这里是我的代码:
SDL_Window* g_pWindow=0;
SDL_Renderer* g_pRenderer=0 ;
int main(int argc, char* args[]){
bool quit = false;
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* window = NULL;
window = SDL_CreateWindow("SDLGAME",
100, 100, 600, 400
, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE
);
if (window== NULL){
cout << "error. Window couldn't be created" << endl;
return 0; //close the program
}
SDL_Renderer* renderer=NULL;
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_SOFTWARE|SDL_RENDERER_ACCELERATED|SDL_RENDERER_TARGETTEXTURE);
SDL_Event* MainEvent = new SDL_Event();
SDL_Texture *picture_image = NULL;
picture_image = IMG_LoadTexture(renderer, "background.png");
SDL_Rect picture_rect;
picture_rect.x = 10;
picture_rect.y = 50;
picture_rect.w = 250;
picture_rect.h = 250;
while (!quit && MainEvent->type != SDL_QUIT)
{
SDL_PollEvent(MainEvent);
SDL_RenderCopy(renderer, picture_image, NULL, &picture_rect);
SDL_RenderClear(renderer);
SDL_RenderPresent(renderer);
}
SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
delete MainEvent;
return 0;
}
SDL_Image需要你初始化它。使用'IMG_Init(IMG_INIT_JPG | IMG_INIT_PNG)'。看看是否有帮助! – Poriferous