0

我对此有点问题。我想做一个按钮。但是,我不知道如何将 Button 类与OpenGL一起使用。我没有在 Java 中使用“R”类,而是使用旧的“assets”文件夹来实现兼容性。

我设置了它来查找您是否触摸了按钮并在“修饰”时加载下一个屏幕。这样做的缺陷是您可以触摸屏幕,然后将手指拖到按钮上,然后抬起手指。下一个屏幕将加载,因为它已在该位置注册了触摸事件。

解决此问题的最简单方法是使用 Button 类,但我该如何使用它(尤其是因为我无法使用findViewById)?

这是我正在使用的代码,但是当 onTouchUp 检查碰撞时 touchDown 神奇地变为与 TouchUp 相同?

private void onTouchDown(Vector2 point)
{
    if (test.justUp)
    {
        test.setTouchDown(point);
        test.justUp = false;
    }
}
private void onTouchUp(Vector2 point)
{
    test.setTouchUp(point);
    test.justUp = true;

    if(OverlapTester.pointInRectangle(test.bounds, test.touchUp) &&
       OverlapTester.pointInRectangle(test.bounds, test.touchDown))
    {
        game.setScreen(new LevelSelect(game));
        return;
    }
}
4

1 回答 1

1

创建自己的按钮类时,注册“touch down”位置和“touch up”位置。如果它们都已在您的按钮图形区域中注册,则该按钮被按下。

于 2011-07-25T00:01:21.900 回答