SDL2 中的全局窗口

Posted

技术标签:

【中文标题】SDL2 中的全局窗口【英文标题】:Global windows in SDL2 【发布时间】:2016-04-21 13:12:39 【问题描述】:

我正在使用 SDL2 用 C++ 编写一个小项目。我正在尝试创建一个可以在其他 .cpp 文件中使用的全局窗口,但我不知道如何在 SDL 中创建全局变量。并且请不要写“不要使用全局变量”之类的东西,因为我必须使用它们,否则它将不起作用。

【问题讨论】:

SDL中的全局变量和C++中的一样,你知道如何在C++中使用全局变量吗?如果没有,请查看此线程***.com/questions/9702053/… 您可以在不同的函数中使用SDL_Window *& 的参数并传递它。在main 中创建窗口,将其发送到应用程序循环,并在main 退出时将其关闭。 【参考方案1】:

在您需要的每个文件中,只需将其声明为extern SDL_Window* GWindow; 并使用它;然后在单个 .cpp 文件中定义它SDL_Window* GWindow = nullptr;

【讨论】:

谢谢老兄!这让我节省了很多时间来寻找它。

以上是关于SDL2 中的全局窗口的主要内容,如果未能解决你的问题,请参考以下文章

用 SDL2 平铺背景并显示前景

如何将组件对象放入合成 API 中的全局窗口变量中?

如何通知尾部更新到 C++ 窗口中的线程? [读取全局变量的未缓存值]

iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch (可以替换为视频悬浮窗口)

iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch (可以替换为视频悬浮窗口)

QT 捕获事件(全局拦截)