【发布时间】:2021-08-11 21:26:43
【问题描述】:
我正在寻找一种方法来检查两个 path2D 是否相交但找不到方法...
示例:
// My circle
let circlePath = new Path2D();
circlePath.ellipse(x, y, radiusX, radiusY, 0, 0, Math.PI*2, false);
// My rectangle
let rectPath = new Path2D();
rectPath.rect(x, y, width, height);
// Intersect boolean
let intersect = circlePath.intersect(rectPath); // Does not exists
有这样的功能吗?
我找到了isPointInPath(path2D, x, y)(我用我的路径来检查是否与鼠标相交)但不能在两条路径之间使用它。
或者也许是一种获取 Path2D 中所有点的数组的方法,以便将 isPointInPath 与所有点一起使用?
编辑:
仅供参考,我想要这个用于游戏开发,我希望能够检查我的实体之间的碰撞(实体由一些数据和 Path2D 定义)。我的实体可以是正方形、圆形或更复杂的形状。
【问题讨论】:
-
顺便说一句,我很好奇你为什么需要这个。您能否进一步扩展您的用例?
-
@Kaiido 我刚刚编辑了我的问题来解释我的用例
标签: javascript canvas html5-canvas