-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