devnix / chipmunkphp
Chipmunk 物理引擎的 PHP FFI 绑定
7.x-dev
2021-01-26 00:09 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-08-26 08:16:01 UTC
README
该项目旨在为 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
贡献
请参阅 CONTRIBUTING 和 CODE_OF_CONDUCT 以获取详细信息。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 devnix.code@gmail.com 联系,而不是使用问题跟踪器。
致谢
- Pablo Largo Mohedano,此包的作者。
- Victor Blomqvist,我从 Pymunk 中窃取了文档和想法。
- Scott Lembcke 和 Howling Moon Software,Chipmnunk 的制作者,此项目的部分 C 头文件。
- 所有贡献者
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。