wxWidgets 和基于循环的应用程序

发布于 2024-12-26 18:03:27 字数 272 浏览 0 评论 0原文

我的 wxWidgets 应用程序(游戏编辑器)与游戏库交互,该游戏库应在基于循环的方法中使用。游戏库有一个方法 mainLoop(),每秒被调用 N 次。游戏编辑器 UI 允许用户执行可以更改游戏库状态的操作。我想避免在调用 mainLoop() 时发生这种情况。仅当 mainLoop() 方法“运行”时,用户才应该能够更改游戏库的状态(添加或删除内容等)。

我该怎么做?游戏编辑器是为 Windows 平台编写的。我见过一个名为 wxEventLoopBase 的类,但我没有找到任何有用的东西(代码示例)。

My wxWidgets app (a game editor) interfaces with a game lib that should be used in a loop-based approach. The game lib has a method, mainLoop(), to be called N times per second. The game editor UI allow the users to do things that can change the state of the game lib. I want to avoid that this happens when the mainLoop() is called. Users should be able to change the state of the game lib (adding-removing things and so on) only when the mainLoop() method is 'running'.

How can i do this? The game editor is written for Windows platforms. I have seen a class called wxEventLoopBase, but i have not found anything useful about it (code examples).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜清冷一曲。 2025-01-02 18:03:27

您可以查看 wxTimer ,您可以在其中每隔几毫秒指定一个计时器回调,或者查看实现一个 OnIdle 方法,您可以在其中调用当没有任何 GUI 事件要处理时的主循环。

You might look at wxTimer where you can specify a timer callback every so many milliseconds or look at implementing an OnIdle method where you can call the mainloop when there are not any GUI events to process.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文