有没有可以使用C库的高级语言?
我知道这个问题可能没什么意义,但我只是出于好奇,而且我还是个新手^^ 不过我最近一直在学习Python,感觉非常不错。我的问题显然是速度方面的。想要做独立游戏开发,短期内用2D和pygame就可以了。
但我最终想进入3D领域,而Python在制作3D专业游戏时实在太慢了。所以我在想,是否有过什么工作是为了创建一种高级语言,能够导入和使用C语言的库?我看过Genie,它似乎可以使用某些库,但我不太确定具体能做到什么程度。我能用它来做openGL编程,或者在C语言的游戏引擎里使用吗?
我知道一些lisp,并且很喜欢它,但可用的库不多。这就导致了一个问题:我受不了C语言的语法,但C语言有很多我可能需要的库!还有像irrlicht这样的游戏引擎。有没有什么语言可以替代C,或者在C的基础上使用呢?
非常感谢大家!
10 个回答
3
Panda3D 是一个游戏引擎,它使用 Python 作为“游戏逻辑”的接口。简单来说,你几乎所有的代码都是用 Python 写的,而 Panda3D 的后台(我猜大部分是用 C 或 C++ 写的)负责处理画面显示。
看看这些使用 Panda3D 的项目画廊。虽然它的画面效果可能达不到那种超级大作《战争机器》的水平,但依然相当不错。
9
Python可以通过ctypes模块调用动态加载的C库(在Unix系统中是.so文件,在Windows系统中是.dll文件)。
还有一种叫做cython的东西,它是Python的一种变种,可以编译成C代码,并且可以直接调用C库。你可以把用纯Python写的模块和用cython写的模块混合使用。
你可能还想看看许多专门为Python编写的3D游戏引擎,或者那些有Python接口的游戏引擎。我听说得最多(但没用过)的有Blender和Python-Ogre。