我在代码中实现touchDown推荐时遇到问题 我正在使用Iterator在屏幕上运行代表球纹理的圆圈。 在下面的代码中,我将所有不相关的部分切割成当前用户触摸时从屏幕上移除球\圆圈的问题。目前我在渲染中调用方法并使用:
int x1 = Gdx.input.getX();
int y1 = Gdx.input.getY();
Vector3 input = new Vector3(x1, y1, 0);
cam.unproject(input);
并使用“input”作为“ballsIterator(input);”的参数。问题是我被告知要停止触摸效果我需要使用touchDown方法中的代码。但是我怎么能这样做呢?我不得不在渲染方法中使用完整版本的方法,无论是否具有降落效果,我尝试实现InputProcessor并在touchDown方法中重复方法的代码,但不在render方法中调用它,因此它没有工作,当我试图在渲染中调用它时,我不知道用于“int指针,int按钮”的参数... 问题是,在上述所有问题之后,如何在我的代码中使用touchDown方法?
private void ballsIterator(Vector3 input){
Iterator<Circle> iterBall = balls.iterator();
while (iterBall.hasNext()) {
Circle ball = iterBall.next();
if (dog.velocity.x != 0) {
if (ball.contains(input.x, input.y)) {
iterMeteor.remove();
}
} else {
iterMeteor.remove();
}
}
}
答案 0 :(得分:0)
使用Springbua解释我设法通过划分Iterator方法来解决我的问题。重复必要的部分,并将负责点击的代码复制到一个新的公共静态void方法,并将Vector3作为参数,并在实现InputProcessor的类中创建了一个Vector3,为它提供了touchDown参数,称为新的Iterator方法,按住click部分并使用InputProcessor类的Vector3作为参数。