我在执行代码中的touchDown表示时遇到问题。
我使用迭代器在屏幕上运行表示球纹理的圆圈。 在下面的代码中,我将所有不相关的部分切割为当前用户触摸它时从屏幕上移除球\圆的问题。此刻,我调用该方法波纹管在我的渲染和使用:libGDX touchDown困难
int x1 = Gdx.input.getX();
int y1 = Gdx.input.getY();
Vector3 input = new Vector3(x1, y1, 0);
cam.unproject(input);
,并使用“输入”作为参数“ballsIterator(输入);”。问题是我被告知为了停止触摸效果,我需要使用touchDown方法中的代码。但我该怎么做呢?这个方法的完整版本不得不放在render方法中,而不管是否有触及效果,我尝试实现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();
}
}
}
存储'Vector3 touchPos'并将其设置在'touchDown':'touchPos = cam.unproject(new Vector3(screenX,screeny,0))'中。在'touchUp'中简单地将它设置为'null'并且在'render'中,您可以说'if(touchPos!= null)ballsIterator(touchPos);' – Springrbua 2014-11-14 14:21:04
删除我的预览评论,因为我玩过,遵循你的解释并设法实现我想要的。谢谢! – user3395989 2014-11-15 13:03:13
如果你解决了你的问题,你可以发布解决方案作为答案并接受它,它可以帮助其他人解决同样的问题。 – Springrbua 2014-11-17 06:28:12