我们可以检测到用户已自动滑动并在Android中使用脚本单击吗?

时间:2015-10-26 13:38:54

标签: java android

我开发的游戏越来越多。 谁刷卡我会给他一个排名,所以我想阻止用户自动化脚本对他有利于获得排名

1.如果你有人的话,我想要一些建议和解决方案。我正在通过传感器检查,但它如何解决我无法配置。我的英语很差。提前致谢。

这是我试过的

            try {
                x = event.getX(mActivePointerId);
                y = event.getY(mActivePointerId);
                success = true;
            } catch (IllegalArgumentException e) {
                Log.w(TAG, "Exception in onTouch(view, event) : " + mActivePointerId, e);
            }
            if (success) {
                // Remember where we started
                aDownTouchX = x;
                aDownTouchY = y;
                //to prevent an initial jump of the magnifier, aposX and aPosY must
                //have the values from the magnifier frame
                if (aPosX == 0) {
                    aPosX = frame.getX();
                }
                if (aPosY == 0) {
                    aPosY = frame.getY();
                }

                if (y < objectH / 2) {
                    touchPosition = TOUCH_ABOVE;
                } else {
                    touchPosition = TOUCH_BELOW;
                }

1 个答案:

答案 0 :(得分:0)

我有一个想法,但我不确定它是否是正确的,它可能不是那么容易实现(特别是如果你不熟悉RxJava)。

我会按以下方式进行:

  1. 创建滑动侦听器
  2. 使用RxJava Observable
  3. 包裹滑动侦听器
  4. 订阅此Observable
  5. 使用throttleLast(...)运算符过滤每个给定时间内发出的项目(例如,每500毫秒,1秒,3秒,您想要的任何内容)
  6. 在这个解决方案中,当某人创建一个将自动滑动的机器人或脚本时,应用程序将不会计算比人类可能做得更快的滑动。当然,这不是完美的解决方案,因为机器人仍会得分,但他的结果也可以通过人类实现。