2

我正在重新制作一个乒乓球游戏,这是我在 SDL 1.2 中所做的,但在 SDL 1.2 中我有一个函数 SDL_GetVideoSurface() 来获取屏幕表面(或者我错了?),但是......

我是如何在游戏中使用该功能的一个小例子(SDL 1.2)

void paddle::show() 
{
    SDL_BlitSurface(image, NULL, SDL_GetVideoSurface(), &box);
}

我想知道 SDL 2.0 中是否有与 SDL_GetVideoSurface() 等效的函数,我已经搜索过,但一无所获。如果它不存在,我怎么能 blit 一个表面?表面是我在乒乓球比赛中的桨。

4

2 回答 2

1

我想知道 SDL 2.0 中是否有与 SDL_GetVideoSurface() 等效的函数

没有一个。

如果您感到精神错乱,您可以遍历整个Uint32范围并使用它SDL_GetWindowFromID()来搜索您创建的窗口。

Keeping track of the SDL_Window*s returned by SDL_CreateWindow() like keltar suggested is the better option.

于 2013-10-14T18:13:19.280 回答
-1

我尝试SDL_GetVideoSurface改用SDL_GetWindowSurface.

例子。

x == SDL_GetWindowSurface(window)->w

有关更多信息,请参阅 SDL2: https ://wiki.libsdl.org/SDL_GetWindowSurface

于 2018-12-02T08:57:44.870 回答