代码之家  ›  专栏  ›  技术社区  ›  Romain

如何检测三角形区域的触摸

  •  2
  • Romain  · 技术社区  · 16 年前

    对于我的应用程序,我需要将我的iphone屏幕按对角线方向分为4个部分,并检测哪个部分被触摸。

    我用方法touchesbeated得到了接触点,我被卡住了……:(如何定义三角形形状并测试它是否被触碰?有视野吗?层?

    如果有人能帮我,那就太酷了。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Cesar Canassa    16 年前

    这个网站展示了一些检查点是否在三角形内的算法。

    http://www.blackpawn.com/texts/pointinpoly/default.html

    根据应用程序的运行速度,您可能需要预先计算并存储一个矩阵,该矩阵将包含所有可能的x和y坐标。这个矩阵看起来像这样:

        2
  •  3
  •   6502    16 年前

    给定矩形的宽度,高度和一个点的x,y,你可以这样做。。。

    int s = y * width / height;
    int code = (x > s) + 2*(x > width - s);