wp7 XNA检测用户是否触摸了自定义形状

时间:2012-07-16 19:52:22

标签: windows-phone-7 xna vector-graphics

我正在创建一些彼此相邻放置的自定义形状(4个坐标)。我想检测用户何时触摸其中一个形状并确定他们触摸了哪一个。

我已经知道如何注册触摸,我已经在其他应用中完成了碰撞检测。问题是,如果您将钻石形状放置在“网格”中(不重叠),那么您无法简单地查看触摸点是否在x和y范围内。

基本上我想要生成一个像素列表,这些像素会形成我可以比较触摸点的形状。

有人可以帮帮我吗?

编辑:

enter image description here

点是用户的触摸。由于触摸不与任何边缘接触,我不能使用物体碰撞。如果您将钻石视为矩形,那么在此示例中,程序认为您已触及两者。

1 个答案:

答案 0 :(得分:1)

要确定某个点是否在多边形内,您可以使用任何方法概述here或“PNPOLY”算法。

当然 - 如果你想保持简单,可以使用Farseer及其collision system为你执行计算(Box2D和Farseer具有相同的功能,所以我提供了一个Box2D链接碰撞位)。您还可以直接获得多个PolygonShapes的碰撞点。