我一直在制作游戏,我使用的 python 库很糟糕(Pyglet)。我想尝试将 Cocoa 用于 OSX 版本。
我将能够弄清楚如何使用 NSWindow 和 NSOpenGLView 等类中的对象,然后将这些对象放入我自己的类中以进行游戏循环。
我不知道如何使用 PyObjC 加载我可以制作的动态 Objective-C 库,然后使用我将在 python 中制作的类来设置我认为可以由 NSTimer 循环的游戏。
但是,循环方法还需要从许多 python 类之一调用 python 方法。我的游戏包含许多用于游戏不同部分的 Python 类(Mapmaker、GameSession、AnacondaGame 等)。游戏循环将需要根据当前部分调用任何这些类中的循环方法并传递偶数信息。
PyObjC 显然是“双向”的,那么它是如何完成的呢?
或者,我可以创建两个由 python 调用的方法,并在中间添加 python 代码,其中循环由 python 控制。
PyObjC 网站上的“文档”似乎只解释了如何在 python 中使用 Cocoa,仅此而已。
我不能做的是使用界面构建器制作一个固定的 GUI,因为该库需要根据我的类的初始化方法的 python 输入来创建窗口。
了解 Objective-C 的语法并不是什么大问题,我可以参考 Cocoa 文档来制作我需要的对象。
感谢您的任何帮助。将不胜感激。我厌倦了使用 pygame 和 pyglet 等损坏的库,使用特定于平台的 OS API 似乎是确保质量的最佳方法。