带SDL_CreateRender的SDL_GetWindowSurface

2022-04-05 00:00:00 sdl c++

我正在用C++编写一个使用SDL2的游戏。

我想在此游戏中使用SDL_GetWindowSurface和SDL_CreateRender,如果我只使用其中一个,它会正常工作,但如果我尝试同时使用它们,游戏就会崩溃。

我认为如果这两个功能都处于活动状态,则这两个功能不起作用。

这就是问题所在吗?


解决方案

我认为如果这两个功能都处于活动状态,则这两个功能不起作用。

这就是问题所在吗?

对,就像the SDL_GetWindowSurface() declaration comment表示的那样:

/**
 *  rief Get the SDL surface associated with the window.
 *
 *  eturn The window's framebuffer surface, or NULL on error.
 *
 *  A new surface will be created with the optimal format for the window,
 *  if necessary. This surface will be freed when the window is destroyed.
 *
 *  
ote You may not combine this with 3D or the rendering API on this window.
 *
 *  sa SDL_UpdateWindowSurface()
 *  sa SDL_UpdateWindowSurfaceRects()
 */
extern DECLSPEC SDL_Surface * SDLCALL SDL_GetWindowSurface(SDL_Window * window);

引用以示强调:

您可以不要将其与3D或此窗口上的渲染API结合使用。

相关文章