C++ 窗口不显示图像SDL
程序不会在我创建的窗口中显示图像,也不会收到我设置的任何失败消息,这意味着这些值不是空的。 有什么问题? 代码如下:C++ 窗口不显示图像SDL,c++,sdl,C++,Sdl,程序不会在我创建的窗口中显示图像,也不会收到我设置的任何失败消息,这意味着这些值不是空的。 有什么问题? 代码如下: #include "SDL.h" #include "SDL_image.h" #include <iostream> int main(int argc,char* argv[]) { SDL_Window *window; SDL_Renderer *renderer; SDL_Event event; bool quit = f
#include "SDL.h"
#include "SDL_image.h"
#include <iostream>
int main(int argc,char* argv[])
{
SDL_Window *window;
SDL_Renderer *renderer;
SDL_Event event;
bool quit = false;
SDL_Surface *tmpsur = NULL;
SDL_Texture *tex = NULL;
SDL_Init(SDL_INIT_EVERYTHING);
window = SDL_CreateWindow("First window", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_SHOWN);
renderer = SDL_CreateRenderer(window, -1, 0);
tmpsur = IMG_Load("assets/player.png");
if (tmpsur == NULL)
{
std::cout << "fail" << std::endl;
}
tex = SDL_CreateTextureFromSurface(renderer,tmpsur);
if (tex == NULL)
{
std::cout << "fail 2" << std::endl;
}
SDL_FreeSurface(tmpsur);
SDL_RenderPresent(renderer);
while (!quit)
{
while (SDL_PollEvent(&event) != 0)
{
if(event.type == SDL_QUIT)
{
quit = true;
}
}
}
SDL_DestroyWindow(window);
SDL_DestroyRenderer(renderer);
SDL_Quit();
return 0;
}
#包括“SDL.h”
#包括“SDL_image.h”
#包括
int main(int argc,char*argv[])
{
SDL_窗口*窗口;
SDL_渲染器*渲染器;
SDL_事件;
bool-quit=false;
SDL_表面*tmpsur=NULL;
SDL_纹理*tex=NULL;
SDL_Init(SDL_Init_EVERYTHING);
window=SDL_CreateWindow(“第一个窗口”,SDL_WINDOWPOS_居中,SDL_WINDOWPOS_居中,800,600,SDL_window_显示);
渲染器=SDL_CreateRenderer(窗口,-1,0);
tmpsur=IMG_Load(“assets/player.png”);
如果(tmpsur==NULL)
{
std::cout您需要将纹理复制到渲染目标上。在呈现渲染器之前,您需要这样调用:
SDL_RenderCopy(renderer, text, nullptr, nullptr);
SDL_RenderPresent(renderer);
参数中的nullptrs将使其在所有目标(窗口)上复制纹理