2013-10-12 40 views
1

我正在重新制作一個pong遊戲,我在SDL 1.2中做過,但在SDL 1.2中,我有一個函數SDL_GetVideoSurface(),用於獲取屏幕表面(或我錯了?),但是...SDL 2.0中的SDL_GetVideoSurface()等價函數

我在我是如何使用的功能在我的遊戲(SDL 1.2)

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

我想知道是否有相當的小例子函數到SDL 2.0中的SDL_GetVideoSurface(),我搜索了,但什麼也沒找到。如果它不存在,我該如何blit一個表面?表面是我在乒乓球比賽中的槳。

+0

你可能會尋找[SDL_GetWindowSurface()](http://wiki.libsdl.org/SDL_GetWindowSurface?highlight=%28\bCategoryVideo\b%29|%28CategoryEnum%29|%28CategoryStruct%29) – ninMonkey

+0

可能,但我需要一個指向主窗口的指針,主窗口在main.cpp中,我在paddle.cpp中做了一個類。我怎樣才能做到SDL_Window *窗口,可見?在一個班級創建它? –

+1

該函數返回一個指向「SDL_Surface *」的指針。我已經使用了SDL 1 *版本,它看起來與文檔中的一樣。 – ninMonkey

回答

1

我想知道是否有同等功能的SDL_GetVideoSurface()在SDL 2.0

沒有一個。

如果你感到瘋狂,你遍歷整個Uint32範圍和使用SDL_GetWindowFromID()來搜索您所創建的窗口(S)。

跟蹤SDL_Window* s返回SDL_CreateWindow()像keltar建議的是更好的選擇。