我正在开发一个单词搜索游戏。表格布局包含 TextView 。 TextView 显示字符。当用户在 8 个方向中的任何一个找到单词时:TopToBottom、BottomToTop、LeftToRight、RightToLeft、TopToBottomRight、BottomToTopLeft、ToptoBottomLeft、BottomToTopRight,我想在相应方向的单词上显示 Canvas 线。
我可以从起点到终点绘制水平线、垂直线和对角线。起点是用户开始滑动的地方。终点是他停止滑动的地方。
Check the first three screenshots here
但我的问题是我还可以在错误的坐标之间绘制其他线,这些线不是水平线、垂直线或对角线。请参阅接下来的三个屏幕截图。
我只想画水平线、垂直线和对角线。当终点坐标错误时,我需要移动终点使其与附近的任何一个方向(水平、垂直或对角线)重合。
最佳答案
你可以在画之前找到线的斜率。假设大小相同、间距均匀的字母,并且触摸点位于每个字母内的相同位置......
超过 0 的东西 - 垂直线
±1 - 对角线
0 - 水平
公式 = (p2.y - p1.y)/(p2.x - p1.x)
关于android - 在 Android 中仅绘制水平线、垂直线和对角线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44846598/