michalsanger / quadtree
一个易于修改的具有标准2D实现的Quadtree。
v0.7.0
2014-10-28 23:31 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- nette/tester: v1.2.0
This package is not auto-updated.
Last update: 2024-09-24 03:49:19 UTC
README
一个易于修改的 Quadtree,具有标准的2D实现。
用法
标准的2D碰撞检测支持点和边界(矩形区域)
use \Quadtree\Quadtree; use \Quadtree\Geometry\Bounds; use \Quadtree\Geometry\Point; $qtBounds = new Bounds(1024, 1024); $qt = new Quadtree($qtBounds); $qt->insert(new Bounds(300, 200)); // TRUE $qt->insert(new Bounds(100, 50, 20, 10)); // FALSE $qt->insert(new Point(250, 100)); // FALSE $qt->insert(new Point(2000, 500)); // FALSE $qt->insert(new Point(299, 199)); // TRUE
需要更多的碰撞检测逻辑?创建自己的 ICollisionDetector
。需要插入其他对象而不是点和边界?实现 Insertable
接口。
API
安装
使用Composer
composer require michalsanger/quadtree
测试
由于 Nette Tester,测试简单且易于阅读。运行
> vendor/bin/tester tests/