所以,就像介绍一样,正如孩子们所说,我是一个菜鸟。我在大学学习了 CS 1 和 2,并且(如果我没记错的话)我们学到了递归、链表、二叉树等。没有涉及 GUI 编程或多线程。
所以,现在我正在尝试学习 C,我有一个想法,我想写一个平台风格的游戏作为目标。我还有很长的路要走,但是,嘿,有东西可以拍摄是件好事。
所以,问题基本上是这样的:我的理解是 GTK 是事件驱动的,它位于 gtk_main() 中并等待用户执行操作,然后使用回调函数处理事件(也许这是一个简单的理解,但它有点让感觉在我的脑海中,并且我已经能够编写几个带有图形界面的简单程序以这种方式思考)。无论如何,在平台风格的游戏中,即使用户没有按下键或鼠标按钮,也需要发生一些事情。所以我的想法是你仍然可以让 gtk_main() 等待输入事件并处理它们,然后在 GTK 等待用户时让程序执行视频游戏的另一个线程。换句话说,无论马里奥是否在移动,大金刚仍然需要扔桶。
该站点上的一个类似问题向我指出了有关多线程的本教程,但我想知道是否有任何特定于将其与 GTK 一起应用的信息。我的 Google-fu 可能很弱,但似乎互联网上没有多少信息,而且我发现的少量信息听起来像是混合线程和 GTK 可能有点危险。
谢谢你的帮助!