0

我正在尝试在我的简单 2d 游戏上实现触摸事件。我正在尝试做一些类似于我在油漆中制作的快速图表的事情。

触摸图表

例如,如果用户按下屏幕的“TOP”部分,则对象向上移动。如果他们向右按,则对象向右移动等。

但是,我似乎无法弄清楚选择屏幕底部和右侧部分所需的数学运算。

ScreenX 和 ScreenY 变量为屏幕尺寸,供参考。

有人可以检查我的代码,看看我做错了什么吗?

Java 代码

@Override
            public boolean onTouchEvent(MotionEvent event)  {
            float x = event.getX();
            float y = event.getY();
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                if (event.getY() < screenY / 5)
                    tank.changeDirection('UP');
                else if (event.getY() > screenY / 5)
                    tank.changeDirection('DOWN');
                else if (event.getX() < screenX / 2)
                    tank.changeDirection('LEFT');

                else if (event.getX() > screenX / 2)
                    tank.changeDirection('RIGHT');
                break;

            case MotionEvent.ACTION_UP:
                tank.changeDirection(0);
                break;
        }
        return true;
    }
4

1 回答 1

0

可能“下降”的情况应该是

//else if (event.getY() > screenY / 5) 
//    tank.changeDirection('DOWN');

else if (event.getY() > screenY * 4 / 5) 
    tank.changeDirection('DOWN');
于 2021-05-15T05:13:13.273 回答