1

我正在开发一个单词搜索游戏。表格布局包含文本视图。文本视图显示字符。当用户在 8 个方向中的任何一个方向找到单词时:TopToBottom、BottomToTop、LeftToRight、RightToLeft、TopToBottomRight、BottomToTopLeft、ToptoBottomLeft、BottomToTopRight,我想在相应方向的单词上显示画布线。

我可以绘制从起点到终点的水平线、垂直线和对角线。起点是用户开始滑动的地方。终点是他停止滑动的地方。

在此处查看前三个屏幕截图

但我的问题是我也可以在错误的坐标之间绘制其他线,这些线不是水平线、垂直线或对角线。请参阅接下来的三个屏幕截图。

我只想画水平线、垂直线和对角线。当终点坐标错误时,我需要移动终点以与附近的任何一个方向(水平、垂直或对角线)重合。

4

1 回答 1

1

您可以在绘制之前找到线的斜率。假设大小相同、间距均匀的字母,并且触摸点在每个字母内的相同位置......

超过 0 - 垂直线
±1 - 对角线
0 - 水平

公式 =(p2.y - p1.y)/(p2.x - p1.x)

于 2017-06-30T12:41:10.073 回答