【发布时间】:2020-02-06 18:38:38
【问题描述】:
正如 Clemens (WPF Paths Collision detection?) 所回答的,可以检测路径何时与此代码接触/重叠:
var intersectionDetail = path1.Data.FillContainsWithDetail(path2.Data);
if (intersectionDetail != IntersectionDetail.NotCalculated &&
intersectionDetail != IntersectionDetail.Empty)
{
// collision
}
是否可以使用路径的一部分来执行此操作?还是我需要将路径拆分为两个单独的路径并单独使用它们?
【问题讨论】:
-
具体取决于您在做什么,这可能不是“最佳”方法。对于我们的地图编辑器应用程序,我需要确定哪些点落在用户绘制的形状内。我发现效果最好的解决方案是在屏幕外渲染形状,然后迭代像素。您可以渲染这样,只有在两个形状重叠的地方才会出现任何东西。可以处理许多形状、复杂形状等。
-
这当然对你完全没用。但是您可以计算出两个形状的边界框,以尽量减少您感兴趣的位置或它们是否可能重叠。
标签: c# wpf xaml collision-detection collision