nodebox for opengl是一个免费的跨平台库,用于用python编程代码生成2d动画。
nodebox-opengl的Python项目详细描述
用于opengl的nodebox
nodebox for opengl是一个python模块,用于使用opengl创建2d交互式视觉效果。它基于mac os x的经典nodebox(http://nodebox.net)的命令集。它支持贝塞尔路径、文本、图像过滤器(模糊、布鲁姆等)、屏幕外渲染、动画和运动特技以及简单的二维物理。它的目的是实现一个小型游戏引擎“城市在瓶子里”(http://cityinabottle.org)。
版本
1.7
许可证
有关详细信息,请参阅license.txt。
要求
用于opengl的nodebox是基于优秀的pyglet模块构建的。如果安装了python和pyglet,它可以在所有平台上工作。注意:在MacOS10.5上,已经安装了Python。在Mac OS X 10.6+(Snow Leopard)上,您需要安装32位版本的Python(Pyglet在预装的64位版本中无法正常工作)。
- python 2.5-6:安装程序可以从http://www.python.org/download/
- Pyglet 1.4+:安装程序可以从http://www.pyglet.org/
您的视频硬件需要OpenGL 2.0的支持。 如果不是这样,请尝试更新到新的驱动程序。
安装
为了能够在脚本中导入nodebox,python需要知道模块的位置。 要做到这一点,有三种基本方法:
- 将nodebox/文件夹放在与脚本相同的文件夹中。
- 将nodebox/文件夹放在模块的标准位置,以便所有脚本都可以使用它。 标准位置取决于您的操作系统,例如: /library/python/2.5/site-packages/在Mac上, /unix上的usr/lib/python2.5/site-packages/, C:Windows上的python25libsite包。
- 在脚本中,将nodebox的位置添加到sys.path,然后导入它: >>>gt;模块='/users/tom/python/nodebox' >>>>导入系统;如果模块不在sys.path中:sys.path.append(模块) >>>>导入节点盒
如果出现“import pyglet”错误,请确保pyglet也安装在站点包中。
二进制文件: nodebox包含c扩展以实现更快的数学运算。 这些是针对Mac的预编译,在其他系统上,您需要在nodebox/ext/manually中执行“python setup.py”。 psyco(http://psyco.sourceforge.net/)也可以提高性能(如果使用32位python)。 nodebox/ext/中包含为mac预先编译的版本。
用法
- 对于来自nodeboxformacosx或nodebox 2的用户:这个nodebox for opengl没有内置的代码编辑器。您可以使用与python捆绑在一起的空闲编辑器。在mac os x上,我们更喜欢textmate(http://macromates.com)。
- 在命令行中,可以使用以下命令运行脚本:python example.py(或textmate中的command-r)
- 这将打开一个包含脚本输出的应用程序窗口。
下面是一个简单的nodebox脚本:
>>> from nodebox.graphics import * >>> def draw(canvas): >>> canvas.clear() >>> translate(250, 250) >>> rotate(canvas.frame) >>> rect(x=-50, y=-50, width=100, height=100) >>> canvas.size = 500, 500 >>> canvas.run(draw)
它使用标准的绘图命令集导入nodebox.graphics模块。它定义一个draw()函数并将其附加到画布上,以便在每个动画帧中绘制它。它使用canvas.run()打开主应用程序窗口。
致谢
作者: -汤姆德斯密特(tom@organisms.be) -弗雷德里克·德布勒瑟(frederik@burocrazy.com)
撰稿人: -列文·门沙尔 -乔治·奥利弗罗
瓶子里的城市: -尼古拉斯·马林纳斯 -勒查特 -蒂姆兽医 -弗雷德里克·德布勒 -汤姆德斯密特
版权所有(c)2008城市瓶装