0

我试图创造一个条件来知道我的光标在哪个向量中,所以我试图用一张图片来说明,想象它是一个平板电脑:

倾斜向量

所以我需要一个代码来知道当事件 ACTION.DOWN 时光标在哪个向量中(不是坐标)。我知道我必须使用 if 条件和一些公式,但不能进入它。

4

2 回答 2

0

y/x首先,找到从屏幕中心到角落的斜率( )。然后找到从中心到光标的斜率。比较绝对值。

如果光标斜率高于拐角斜率,则您处于 1/3 部分。否则,你在 2/4。对中心的哪一侧进行简单检查将确定从那里开始。

例如,如果光标斜率高于角的斜率,并且光标在中心上方,则您位于第 1 部分。

于 2013-08-21T17:51:10.830 回答
0

假设 action down 事件的坐标是 (x, y),矩形从左上角的 (0, 0) 延伸到右下角的 (w, h)。您可以使用以下公式对事件进行分类(通过 (x, y) 与 (w, h) 和 [(x, y) - (w, 0)] 与 [(0, h) 的叉积得出- (w, 0)]:

  • x*h - y*w — 如果这是正数,则 (x,y)在主对角线上方
  • w*h - x*h - y*w — 如果这是正数,则 (x,y)在次对角线上方

因此,如果事件在两条对角线上方,则它最接近向量 1;如果它在主对角线之上但在次对角线之下,则它最接近向量 2;等等

于 2013-08-21T18:03:49.737 回答