更改日志

Pymunk6.6.0(2023-11-02)

Experimental Batch API

此版本添加了(实验性的)批处理API,可用于在一次调用中高效地获取实体属性,如位置和空间中所有实体/碰撞的碰撞数据。这样,调用底层c库(Chipmunk2D)的开销最小,在某些情况下可以实现巨大的加速。

更改:

  • 带有批处理API的新的pymunk.Batch模块。

  • 批处理API基准

  • Colors.py示例的批处理版本

  • 改良型

  • 改进构建/打包

Pymunk6.5.2(2023-10-22)

Python 3.12

这是一个次要版本,主要针对CPython3.12的发布轮。

更改:

  • 为CPython3.12构建轮子

  • 文档改进

  • 添加了实验环境PYMUNK_BUILD_SLIM来为WASM/PYODIDE瘦身。

  • 添加了在酸洗/复制时循环引用的断言

  • 修复了批处理API基准中的内存泄漏

Pymunk6.5.1(2023-06-26)

Fix source dist

一些定制的CFFI c标头和源文件现在包含在源代码分发中,因此可以完全从它构建Pymunk。

更改:

  • 在源代码dist压缩文件中包含pymunk自定义c文件

Pymunk6.5.0(2023-06-23)

Repeatable pickle/unpickle of simulation!

当酸洗时,内部碰撞状态现在也将被酸洗,这意味着未酸洗的空间将表现为原始的行为,即使在酸洗期间正在进行的碰撞中也是如此。如果要重放模拟,这将非常有用。

更改:

  • 内部碰撞状态的酸洗

  • 合并了最新的上游Chipmunk版本

  • 改进的类型提示

  • 改进的文档

Pymunk6.4.0(2022-11-20)

Support Pyglet 2 debug drawing!

这是一个较小的更新,主要更改是对最近发布的Pyglet 2的支持。同时,对Pyglet 1.5.x的支持已被弃用,当将pyglet_util与pyglet 1.x一起使用时,将记录有关该弃用的警告。另一个较大的变化是,这些示例已经被移到了pymunk的子包中,因此即使在从轮子上安装了Pymunk的情况下,也可以很容易地运行它们。

更改:

  • 支持使用Pyglet 2.0调试绘图

  • 不建议使用Piglet 1.5,并将在未来的版本中删除。

  • 将示例作为pyumnk.Examples包移动到发行版中。

  • 改进的类型提示

Pymunk6.3.0(2022-11-04)

Build wheel for CPython 3.11!

这是一个较小的更新,对为CPython3.11构建轮子构建管道进行了更改。一些内部部分也被重写了。

更改:

  • 将回调实现更新为CFFI推荐的方式

  • 改进断言以更早地捕获错误

  • 改进类型提示

  • 为更多目标打造车轮

  • 移除实验体。_id

Pymunk6.2.1(2021-10-31)

Build wheel for CPython 3.10!

这是一个较小的更新,对构建管道进行了更改,以构建适用于更多情况的轮子,特别是最近发布的CPython3.10。

更改:

  • 使用pyproject.toml

  • 要求CFFI 1.15以确保轮子在Apple ARM64/M1上制造正常。

  • 单据改进

  • 为更多目标打造车轮

Pymunk6.2.0(2021-08-25)

Improved transforms for debug drawing!

此版本包含使用调试绘图转换使用的增强功能,并更新到最新的git版本的Chipmunk。它还包含了一个新的例子,说明如何实现中心重力。

更改:

  • 将Chipmunk更新到最新的Git版本

  • 更新了调试绘图以支持旋转,并修复了约束的缩放

  • “行星”引力的新例子(从Chipmunk移植)

  • 修复了垃圾收集逻辑中可能出现的角例错误

Pymunk6.1.0(2021-08-11)

Transforms for debug drawing!

此版本中的主要改进是现在可以在SpaceDebugDrawOptions对象上设置变换,该对象在绘制任何内容之前应用。这在所有的调试绘图实现中都是有效的,例如,对于pyGame。通过这种方式,可以轻松地实现诸如相机平移之类的功能,从而轻松地调试绘制代码。有关这方面的示例,请参阅新的camera.py示例。

更改:

  • 向SpaceDebugDrawOptions添加了Transform属性。

  • 扩展了转换,允许使用@与另一个转换或Vec2d进行矩阵乘法。

  • 改进了向空间添加对象时的错误处理。

  • 改进了文档。

《Pymunk6.0.0》(2020-12-07)

Typehints, dropped Python 2, and Vec2d rework and wrapping upgrade!

这个版本是对Pymunk的一个非常大的更新,有许多突破性的API变化。很可能大多数升级的Pymunk用户需要做一些更改才能工作,但在大多数情况下,这些更改应该是次要的。

亮点-主要变化:

  • 需要使用Python3.6或更高版本。对包括2.7在内的更老的 Python 的支持已被删除。

  • 添加了类型提示。已为所有公共接口添加类型提示。

  • Vec2d(向量类)已被彻底检修。它现在是不变的子类 NamedTuple ,具有简化的API接口。详情见下文。

Vec2d更改:

  • Vec2d不再接受具有 .x.y 属性,但不支持 __getitem__[0] & [1] 在构造函数中。如果您有这样的对象,请重写 Vec2d(myobj)Vec2d(myobj.x, myobj.y)

  • Vec2d现在是不可变的。

    • 移除 __setitem__ )你不能这样做 Vec2d(1,2)[1] = 3 不再)。

    • 无法设置长度属性。 Vec2d(1,2).length = 10 ,而改用 Vec2d(1,2).scale_to_length(10)

    • 移除 Vec2d.get_length 方法(改用Length属性)。

    • 移除 Vec2d.rotate() 方法。使用 Vec2d.rotated() 取而代之的是。

    • 移除 Vec2d.rotate_degrees() 方法。使用 Vec2d.rotated_degrees 取而代之的是。

    • 无法设置角度属性 (Vec2d(1,2).angle = 3.14 )。使用 Vec2d.rotated() 取而代之的是。

    • 移除 Vec2d.get_angle 方法(使用 angle 而不是属性)。

    • 无法设置 angle_degrees 物业 (Vec2d(1,2).angle_degrees = 180 )。使用 Vec2d.rotated_degress 取而代之的是。

    • 移除 Vec2d.get_angle_degrees 方法(使用 angle_degrees 而不是属性)

    • 移除 Vec2d.normalize_return_length 方法(使用 Vec2d.lengthVec2d.normalized() ,或新的 Vec2d.normalized_and_length method )。

    • 移除 __iadd____isub____imul____ifloordiv____itruediv__ )。

  • 已删除 __nonzero__ 魔法。这在Python3中从来不起作用,也没有包含在任何测试中。

  • 已删除 __pow____rpow__ 魔法。再也不可能做了 Vec2d(1,2)**2 ,相反,您需要手动进行计算。

  • 已删除 __invert__ 魔法。再也不可能做了 ~Vec2d(1,2)

  • 已删除 __mod____divmod__ 魔法。再也不可能做了 Vec2d(1,2) % 2divmod(Vec2d(1,2), 2)

  • 删除了位操作右移位、左移位、或、与、异或。 (<<>>|&^ )。

  • 变化 abs(Vec2d(1,2)) 返回预期的向量长度,而不是 Vec2d(abs(x), abs(y))

  • Vec2d现在只支持与长度为2的其他Vec2或元组(序列)相加。

  • Vec2d现在只支持与其他长度为2的Vec2或元组(序列)的减法。

  • Vec2d现在只支持整数和浮点数的乘法运算。

  • Vec2d现在只支持整型和浮点型除法。请注意,不支持反向除法,即 1 / Vec2d(1,2)

  • Vec2d现在仅支持地板分割 (// )通过整型和浮点型。请注意,不支持反转楼层分割,即 1 // Vec2d(1,2)

  • 改进了Vec2d中的错误检查,当操作员(魔法,如 __add__ )与不兼容的类型一起使用。

  • 删除了创建具有空构造函数的零Vec2d的选项。 Vec2d() 应替换为 Vec2d.zero()

  • 制造 Vec2d 的一个子类 NamedTuple

    • Vec2必须用独立的 x 以及一个 y 价值观。

    • Vec2d((1,2)) 可以更改为 Vec2d(*(1,2))

    • Vec2d(Vec2d(1,2)) 可以更改为 Vec2d(*Vec2d(1,2))

    • Vec2d() 可以更改为 Vec2d(0,0)Vec2d.zero()

    • Vec2d(1,2) 不再等于 [1,2] 因为它们是不同类型的。(但是 Vec2d(1,2) == (1,2) 仍然是正确的)

  • 放松 get_angle_betweenconvert_to_basiscpvrotatecpunvrotate 接受大小为2的元组作为参数,就像Vec2d上的大多数其他方法一样。

一般更改:

  • add_collision_handler(a,b)add_collision_handler(b,a) 将返回相同的处理程序。第132期。

  • 形状使用的实体必须在添加形状之前(或同时)添加到空间中。这一更改将帮助Pymunk的用户发现错误,修复旧代码应该是直截了当的。

  • 需要使用Python3.6+。如果您使用的是较旧的Python,请继续使用5.x系列的Pymunk,直到可以升级为止。

  • Space.add()Space.remove() 不再接受对象列表(形状、实体或约束),仅直接接受对象。可以更新现有代码以解压缩参数: space.add(list_of_stuff) vbl.成为 space.add(*list_of_stuff)

  • ShapeFilter.ALL_MASKSCATEGORIES 更改为静态方法。 ShapeFilter.ALL_MASKS vbl.成为 ShapeFilter.ALL_MASKS()ShapeFilter.CATEGORIES 几个问题 ShapeFilter.CATEGORIES()

  • 注意:指定颜色时需要4个数字的元组(或使用 SpaceDebugColor 类)。在测试过程中,发现一些演示使用的是3的元组,这在Pymunk 6.0(或更早的版本)中不起作用。

  • 返回一个 PointQueryInfo 对象来自 Shape.point_query ,而不是前一个 (distance, PointQueryInfo) 元组。需要该距离的代码可以从 PointQueryInfo.distance

  • 已删除 pymunk.inf 。使用标准的Python float('inf') 取而代之的是。

  • 已重命名的包 pymunk.constraintpymunk.constraints 。导入先前名称的代码应更新为从新名称导入。

  • 变化 pygame_util.positive_y_is_up 缺省值为 False 。依赖旧缺省值的现有代码应设置所需的值 (True )。对于新代码,更好的做法可能是使Pymunk模拟的行为像原生的pyGame坐标一样。有关示例,请参见Examples文件夹中的Examples。

  • 现在预计,位置函数需要一个 Vec2d 或长度为2的元组已经是元组(或 Vec2d )。以前,通过调用 tuple(argument) 。要修复旧代码,只需将参数包装在 tuple( ... ) 。(注意:由于没有类型检查,长度为2的列表也可以使用,但是不支持该列表,并且可以随时更改。

  • BB 基类更改为 NamedTuple 。它们现在必须用来建造 leftbottomrighttop 作为单独的论据。

  • 回复: BB 会回来的 BB(left=1, bottom=5, right=20, top=10) 而不是 (1, 5, 20, 10)

  • BB 现在是不可变的。

  • 启用新的回调 Constraint 对象, pre_solvepost_solve ,它可用于在约束的求解器之前或之后运行函数。

  • 在上添加了辅助方法 Transform 轻松创建要平移、缩放和旋转的变换。

  • 移除了现在未使用的pymunkOptions模块。

  • 更改了自动组合测量的类型 march_*.sample_func 需要长度为2的元组,而不是Vec2d(以提高性能)。第126期。

  • 已删除 march_*.segment_func 参数,而是返回一个 PolylineSet 结果就是。这允许将来进行优化,并且更易于使用。第126期。

  • 添加了代码,使Pymunk在不需要在PyInstaller、py2exe以及可能还有其他捆绑包中进行额外配置的情况下工作。

  • 添加了调试日志以更容易地理解c内存问题。使用logging.DEBUG,因此应该很容易解决。

不太可能影响现有代码的微小更改:

  • 已删除 pymunk.chipmunk_path

  • 变化 Shape.sensor 类型为bool(来自int)。

  • 添加检查以确保已腌渍的对象是由加载它的代码所用的相同的Pymunk版本进行的。内部的酸洗格式可以在主要版本、次要版本和点版本之间进行更改。

  • 格式稍有更改 pymunk.chipmunk_version 版本字符串。

  • 小改动以使冲突处理程序起作用 (beginpre_step .)返回赋值的函数,而不是包装的函数。

  • 删除了多余的 *args**kwargs 争论到 CollisionHandler.__init__ 方法。

  • 派芒克源代码格式化与黑色和isort。

  • moment_for_poly()area_for_poly() 现在需要长度为2的元组的序列(元组/类似列表的对象)。

  • 添加参数的缺省值 pointapply_force_at_local_point

  • 删除了自变量的缺省值 apply_impulse_at_world_point 。只需指定 point = (0,0) 以模仿旧有的违约模式。

  • 添加了许多断言以检查无论何时长度为2或 Vec2d 预计元组的长度为2。工作代码不太可能受到影响,但错误将更容易找到。

幕后:

  • 为了允许添加一些Chipmunk没有的高级功能,用于调用C代码的方法已更改为CFFI API模式。除了更容易扩展外,它还提供了更高的性能。

《Pymunk5.7.0》(2020-09-16)

Fix release

此版本包含一系列较小的修复和改进。

更改:

  • 修复了PyInstaller onefile的问题。

  • 改进了Vec2d创建的性能。谢谢米哈伊尔·西敏!

  • 处理长度为0的弹簧的调试绘图。

  • 从空间访问时对实体和约束进行排序。

  • 添加了Space.USE_SPATIAL_HASH函数,以支持使用空间散列作为其空间索引,这可以在存在大量大小相似的对象时提高性能。

  • 修复了Vec2d投影获取元组作为其他参数时的情况。

  • 修复了Vec2d投影的ZeroDivisionError。谢谢穆罕默德·萨阿德·伊本·塞迪克!

  • 修正了Shape.Center_of_Graight属性的返回类型(现在返回Vec2d而不是CDATA)。

  • 修复了安装开发人员依赖项时的问题。

  • 增加了Chipmunk坦克的例子(可以在Examples文件夹中找到)。

  • 改进了文档。

当心!Pymunk的一个重大更新正在进行中,将以Pymunk6.0的形式发布。它将包含很大的变化,其中一些非常违反API,而且它还将放弃对Python2的支持。

Pymunk5.6.0(2019-11-02)

Fix to avoid incompatible CFFI version

此版本的主要目标是确保在通过pip安装Pymunk时安装兼容版本的CFFI。不幸的是,在Linux的CFFI 1.13.1上有一个问题。(更高版本和更早的版本可以正常工作)

更改:

  • 添加了CFFI不能为1.13.1的要求(因为1.13.1不起作用)。

  • 更新CFFI定义以防止最新CFFI中的弃用警告。

  • 将普通属性添加到仲裁器对象。

  • 从提交的代码中删除已编译的文档。

  • 从Travis和Appveyor配置中删除了CPython3.4的构建/测试,因为它不再受支持。

  • 更新小程序示例以使用小程序1.4。

  • 修复了平台示例中的小问题。

  • 改进了文档。

Pymunk5.5.0(2019-05-03)

Updated Chipmunk version, FreeBSD, Android/Termux support and more!

此版本包含许多改进。Chipmunk被更新到最新版本,然后一些未合并的PR被合并。(Chipmunk的GIT回购已经死了,所以在手动审核后,Chipmunk将包括未合并的PR)。另一个重大改进是,Pymunk现在可以在免费BSD上运行。它还在Android上的Termux上进行了测试,并对安装过程进行了一些改进。还包括一些较小的修复程序。

更改:

  • 将Chipmunk更新为7.0.2+未合并PR

  • 可以在FreeBSD上安装和运行Pymunk

  • 可以在Android上的Termux上安装和运行Pymunk

  • 修复带有半径的多边形的调试图形

  • 改进了PYGAME上的片段调试绘制

  • 修复在未安装车轮包的情况下安装时的问题

  • 新的约束演示

  • 改进的文档

Pymunk5.4.2(2019-01-07)

Fix for chipmunk.dll load troubles on windows

此版本修复了Windows上的一个问题,该问题使chipmunk.dll文件依赖于libwinpline-1.dll,由于新的构建设置,在Pymunk 5.4.1中发生了该问题。修复意味着目前在Windows上禁用线程解算器。在实践中,这应该不是一个大问题,线程解算器在运行Windows的桌面上的性能优势尚不清楚。

更改:

  • 在Windows上禁用线程解算器。

Pymunk5.4.1(2018-12-31)

Improved packaging

这一版本包括对Pymunk的包装进行了一些修复。一个允许为Conda构建的修复程序,以及在Linux上构建二进制轮子的一些更改。

更改:

  • 修复以帮助Pymunk使用冰柜,如CX_FREAK。

  • 更好的车轮,现在它们包含了正确的标签

  • 在编译Chipmunk时使用自定义CFLAGS修复问题

好好享受吧!

Pymunk5.4.0(2018-10-24)

Fix support for MacOS 10.14

主要修复程序是允许在最新版本的MacOS上安装Pymunk。此版本还包含一系列次要修复,并像往常一样对文档、测试和示例进行了改进。

更改:

  • 在较新版本的MacOS上,只能在64位模式下编译(32位已弃用)

  • 改进的文档、示例和测试

  • 在传递Vec2d而不是元组时修复Moment_for_*

  • 修复在步骤期间向空格添加或删除多个对象时的大小写。

  • 在Windows上允许线程求解器。

  • 使用msys mingw在Windows上编译Chipmunk(以前的解决方案已弃用)。

好好享受吧!

Pymunk5.3.2(2017-09-16)

Fixes ContactPointSet updating in Arbiter

此版本包含对仲裁器上的ContactPointSet的修复。有了这个修复,它可以在碰撞回调期间更新联系人,例如更新正常,就像突破游戏示例中一样。

更改:

  • 修复仲裁器.联系人_点_集

Pymunk5.3.1(2017-07-15)

Fix for Pycparser 2.18

此版本包含对最近发布的Pycparser 2.18的修复,该版本由Pymunk通过使用CFFI间接使用。

更改:

  • 修复了使用Pycparser 2.18时中断的回调。

Pymunk5.3.0(2017-06-11)

Pickle and copy support!

本版本新增了对Pickle(保存和加载)和复制的支持。这一点我已经想了很长时间了,当我在Github上收到Rick-C-137对它的功能请求时,我进行了最后的努力。看见 examples/copy_and_pickle.py 举个例子。

该功能本身非常易于使用,Pickle的工作方式与预期不谋而合,而Copy则是一个简单的方法调用。但是,请注意,对带有回调函数的PICLE空间的支持取决于PICLE协议版本。最早的PICLE协议对PICLE功能的能力有限,因此要获得最大的功能,请尽可能使用最新的PICLE协议。

更改:

  • 泡菜支持。大多数对象都可以进行酸洗和非酸洗。

  • 复制支持和方法。大多数对象现在都有一个Copy()函数。同样,标准库的复制深度复制()函数也可以正常工作。

  • 修复了BB.Merge和其他BB功能中的错误。

  • 改进了文档和测试。

  • 新的Kivy示例(如前面的新闻条目所述)。

我希望你会喜欢它!

Pymunk5.2.0(2017-03-25)

Customized compile for ARM / Android

此版本的主要原因是ARM/Android交叉编译支持,这要归功于可以覆盖c编译器和链接器。在这个版本发布后,不需要修补Pymunk代码,就可以为Pymunk创建一个Python-for Android构建食谱。它也应该更容易为其他环境构建。

变化

  • 允许使用CC、CFLAGS、LD和LDFLAGS环境变量覆盖编译器和链接器,从而允许定制Chipmunk的编译。(通常您不需要这个,但在某些情况下它很有用)

  • 使用pyglet_util修复有时损坏的多边形绘制。

  • 添加功能,允许您设置形状的质量,并让Pymunk自动计算身体质量和力矩。

  • 不要对32位和64位版本使用单独的库命名。(应该不会有任何明显的效果)

Pymunk5.1.0(2016-10-17)

A speedier Pymunk has been released!

此版本是作为 基准 在Pymunk5.0和4.0上完成。Pymunk 5.0在PyPy上已经非常快了,但在CPython中有一些回归。事实证明,这一变化的一个重要部分是Vec2在两个版本中的处理方式。Pymunk 5.1包含优化的代码,以帮助缩小这种差异的很大一部分。

变化

  • 由于改进了Vec2d的处理,相比于Pymunk 5.0,性能有了很大提高。

  • 文档方面的改进。

  • Shape.point_Query的返回类型中的微小更改。现在,它正确地返回了文档中所写的元组(距离,信息)。

  • 将Poly.create_box拆分为两个方法Poly.create_box和Poly.create_box_bb,以便更清楚地了解发生了什么。

我希望你会喜欢这个新版本!

Pymunk5.0.0(2016-07-17)

A new version of Pymunk!

这是《Pymunk》的一次大发行!正好赶在Pymunk明年10岁生日之前!

  • 在Windows上支持64位Python

  • 更新为使用Chipmunk7,包括许多重大改进

  • 更新为使用CFFI进行包装,改进了开发和包装(车轮,耶!)

  • 带matplotlib绘图帮助的新util模块(带有示例Jupyter笔记本)

  • 支持自动生成几何图形。可用于可变形地形之类的东西(包括示例)。

  • 过时的子模块pymunk.util。

  • 许多较小的改进

新版本还在Travis和Appveyor上进行了测试,以确保良好的代码质量。

我希望你会喜欢这个新版本!

Pymunk4.0.0(2013-08-25)

A new release of pymunk is here!

这一版本绝对是一个里程碑,金龟子已经5岁多了!(第一版于2008年2月发布,用于PyWeek比赛)

在这个版本中,已经对Pymunk做了许多改进。它包括了对侏儒的调试绘图(在3中引入了对pyGame的调试绘图),更新了的Chipmunk版本,以及由此产生的API调整,更多更好的例子,以及一如既往的整体润色。

在新的Chipmunk版本(6.2测试版)中,碰撞检测的行为可能会略有不同,因为它使用的算法与早期版本不同。新的算法意味着现在将检测到段到段的冲突。如果您有一些不想冲突的段,则可以使用传感器属性或自定义冲突回调函数。

要查看新的pymunk.pyglet_util模块的运行情况,请查看pyglet_util_demo.py示例。它有一个类似于pyGame_util的接口,但由于pyglet和pyGame之间的不同而有所不同。

对API进行了一些添加和更改。现在,在模拟步骤中(例如,在回调中)添加和删除物体和形状是合法的。实际移除将安排在模拟步骤完成后立即进行。其他更改包括更改形状的主体,获取形状的BB,以及创建具有空体的形状。在实体上,现在可以检索附加到它的形状和约束。

此版本已经过测试,并在CPython2.5、2.6、2.7、3.3和PyPy 2.1上运行。至少已经在以下平台上运行了一次单元测试:Windows上的32位CPython,Linux上的32位和64位CPython,以及OSX上的64位CPython。在上述平台之一上运行的PyPy 2.1。

变化

  • 新的DRAW模块帮助进行侏儒原型制作

  • 更新了Chipmunk版本,增加了新的冲突检测代码。

  • 添加、改进和修复损坏的示例

  • 可以在形状上切换主体

  • 使在模拟步骤中添加和删除实体成为合法操作

  • 将造型和约束属性添加到实体

  • 可能得到一个形状的BB,他们现在允许构造函数中的空体

  • 添加了多边形的半径属性

  • 将Poly.get_Points重命名为Get_Verits

  • 已将Segment.a和Segment.b属性重命名为UNSAFE_SET

  • 添加了使用pyinstaller的示例

  • 修复了报告的许多错误

  • 改进不同地方的文档

  • 一般抛光和清理

我希望你会喜欢这个新版本!

Pymunk3.0.0(2012-09-02)

I'm happy to announce pymunk 3!

这一版本比起之前的2.x版本来说,是一个明显的改进。它的特点是有一个大大改进的文档,一个更新的Chipmunk版本和附带的API调整,更多和更酷的例子。此外,为了帮助进行快速原型制作,Pymunk现在包括了一个新的模块pymunk.pyGame_util,可以在电子游戏表面上绘制大多数物理对象。查看新的pyGame_util_demo.py示例,以了解它的工作原理。

另一个新特性是改进了对在非调试模式下运行的支持。现在可以将编译标志传递给setup.py以在发布模式下构建Chipmunk,并且有了一个新的模块,可以用来关闭Chipmunk的调试打印。

此版本已经过测试,并在CPython2.6、2.7、3.2上运行。至少已经在以下平台上运行了一次单元测试:Windows上的32位Python,Linux上的32位和64位,以及OSX上的32位和64位。

这个版本也已经在PyPy 1.9上进行了测试,所有测试都通过了!

变化

  • 添加了几个新的有趣的例子

  • 新的DRAW模块可帮助进行电子游戏原型制作

  • 新的pymunkOptions模块允许禁用调试

  • 在OSX上测试,包括编译的dylib文件

  • 大量扩展和修改的文档和主页

  • Chipmunk的最新进展

  • 较小的API更改

  • 一般抛光和清理

  • 闪亮的新域名:www.pymunk.org

我希望你会喜欢它!

Pymunk2.1.0(2011-12-03)

A bugfix release of pymunk is here!

这个版本中最明显的变化是,现在的源代码版本包含了所有这些内容,包括示例和Chipmunk源代码。:)其他修复是Body的新速度限制属性,以及一些已移除的方法(移除它们的原因仍然是相同的版本:无论如何,您都会收到调用它们的异常。删除应该不会影响正常运行的代码)。注意,所有用户都应该通过将输入参数设置为None来创建静态实体,而不是使用无穷大。Inf将在即将发布的版本中删除。

变化

  • 将pymunk.inf标记为不推荐使用

  • 为车身添加了速度限制属性

  • 修复了64位Python上的错误

  • 已使用Python2.5重新编译chipmunk.dll

  • 更新的Chipmunk来源。

  • Vec2d中获取整型元组的新方法

  • 删除了旋转和调整散列大小的方法

  • 从示例/测试中删除了pymunk.init调用

  • 更新了创建静态实体的好方法的示例/测试

祝你玩得开心!

Pymunk2.0.0(2011-09-04)

Today I'm happy to announce the new pymunk 2 release!

这一版本中的新玩意主要来自更新后的Chipmunk库。现在身体可以睡觉了,有了一个新的数据结构来保存对象和其他更小的改进。更新的版本号主要来自于新的睡眠方法。

版本中的另一项新功能是一些简化,你现在不需要自己初始化金龟子,这是在导入时自动完成的。另一个很酷的特性是,Chipmunk在最新的PyPy源代码上通过了所有的单元测试,我认为这是一件很棒的事情!我还没有时间做任何性能测试,但PyPy声称ctype库比cpython有了改进。

注意,这个版本并不是完全向后兼容的,一些细微的调整将是必要的(主版本号增加的原因之一)。

与上一版本相比的更改:

  • 移除了init pymunk方法,它在导入时自动完成

  • 支撑睡梦中的身体。

  • 更新到最新版本的Chipmunk

  • 更多API文档,更多单元测试。

  • 现在仅依赖于Windows上的msvcrt.dll。

  • 消除了对SetupTools的依赖

  • 对其他API的次要更新,添加了一些缺少的属性和方法。

Pymunk1.0.0(2010-07-16)

Pymunk0.8.3(2009-07-26)

Pymunk0.8.2(2009-04-22)

Pymunk0.8.1(2008-11-02)

《Pymunk0.8》(2008-06-15)

在Pypi上首次公开发布。

Pymunk0.1(2007-08-01)

第一次公开发布。在PyWeek游戏竞争论坛上,后来在我们的PyWeek 5中使用。