我遇到了一些问题。我想做一个按钮。但是,我不知道如何将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;
}
}
答案 0 :(得分:1)
创建自己的按钮类时,请注册“触地”位置和“修饰”位置。如果它们都已在按钮图形区域内注册,则按下该按钮。