在多边形上实现触摸事件

时间:2015-09-09 16:53:17

标签: android opengl-es collision-detection

我已经编写了一些代码,这些代码会在它们与MVP矩阵相乘后在屏幕空间中找到立方体的顶点坐标。我想检查用户何时点击或触摸多维数据集中的屏幕,然后执行某些操作。

我已经看到圆圈的方法,你找到一个圆心,然后计算它的半径,然后你找到touchX的距离,如果距离小于圆圈的中心,你可以找到touchY的距离半径然后用户触摸圆圈。

    @Override public boolean onTouchEvent(MotionEvent ev) {
        double distanceFromCenter = Math.sqrt((shapeCenterX - e.getX())^2 + (shapeCenterY - e.getY())^2);
        if (Math.abs(distanceFromCenter) < radius)
           {
            //Touch within circle...
        }
    }

我在想我能找到立方体的中心,知道它的顶点在哪里,我会找出顶点离中心的距离。然后,我将检查touchX的距离,从立方体的中心触摸touchY。如果距离小于半径,则用户正在触摸立方体。

这是否有效,如果没有,我需要做些什么才能使其发挥作用? 这是多边形碰撞检测的好方法吗?

0 个答案:

没有答案