devnix/chipmunkphp

Chipmunk 物理引擎的 PHP FFI 绑定

7.x-dev 2021-01-26 00:09 UTC

This package is auto-updated.

Last update: 2024-08-26 08:16:01 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

该项目旨在为 PHP 提供一个完整的 Chipmunk 2D 物理引擎的 FFI 包装器。生活在这样一个时代是多么美好啊!

安装

通过 Composer

$ composer require devnix/chipmunkphp

依赖关系

Linux

您需要编译并安装 Chipmunk 7

cd /tmp
git clone git@github.com:slembcke/Chipmunk2D.git
cd Chipmunk2D

找到最新的 7.x 标签并检出它

git tag
Chipmunk-6.0.0
Chipmunk-6.0.1
Chipmunk-6.0.2
Chipmunk-6.0.3
Chipmunk-6.1
Chipmunk-6.1.1
Chipmunk-6.1.2
Chipmunk-6.1.3
Chipmunk-6.1.4
Chipmunk-6.1.5
Chipmunk-6.2.0
Chipmunk-6.2.1
Chipmunk-6.2.2
Chipmunk-7.0.0
Chipmunk-7.0.1
Chipmunk-7.0.2
Chipmunk-7.0.3
Cocos2D-3.0
git checkout Chipmunk-7.0.3

然后编译、安装并清除共享库缓存。

cmake .
make
sudo make install
sudo ldconfig

那就完成了。如果您在打开问题时有问题,请给我们反馈。

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

黑客攻击

FFI API 的头文件必须已经处理。您可以使用 GCC(我只是在弄参数...)来处理它。

cpp -P -E -D "__attribute__(ARGS)=" ~/tmp/Chipmunk2D/include/chipmunk/chipmunk.h -o include/chipmunk.h  -save-temps

别忘了将 /tmp/Chipmunk2D 路径更改为您的需求。

之后,手动删除内联函数的代码,只留下签名。您还必须手动删除 stdio.h 和 math.h(我想)签名。

我已经在 ircmaxell/FFIMe 上试验,但似乎在用 ircmaxell/php-c-parser 解析时出现了一些问题。我非常希望找到一个方法来自动获取可工作的头文件,以简化工作。

测试

$ composer test

贡献

请参阅 CONTRIBUTINGCODE_OF_CONDUCT 以获取详细信息。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 devnix.code@gmail.com 联系,而不是使用问题跟踪器。

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件