在Android中创建一个按钮glSurfaceView

时间:2011-07-24 23:07:05

标签: android button opengl-es glsurfaceview

我遇到了一些问题。我想做一个按钮。但是,我不知道如何将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;
    }
}

1 个答案:

答案 0 :(得分:1)

创建自己的按钮类时,请注册“触地”位置和“修饰”位置。如果它们都已在按钮图形区域内注册,则按下该按钮。