Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java libGDX着陆困难_Java_Android_Libgdx - Fatal编程技术网

Java libGDX着陆困难

Java libGDX着陆困难,java,android,libgdx,Java,Android,Libgdx,我在代码中实现着陆时遇到问题。 我使用迭代器在屏幕上运行表示球纹理的圆圈。 在下面的代码中,我删除了所有与我当前的问题无关的部分,即当用户触摸球时,将球从屏幕上移除。目前,我在渲染和使用中调用下面的方法: int x1 = Gdx.input.getX(); int y1 = Gdx.input.getY(); Vector3 input = new Vector3(x1, y1, 0); cam.unproject(input); 并将输入用作ballsIte

我在代码中实现着陆时遇到问题。 我使用迭代器在屏幕上运行表示球纹理的圆圈。 在下面的代码中,我删除了所有与我当前的问题无关的部分,即当用户触摸球时,将球从屏幕上移除。目前,我在渲染和使用中调用下面的方法:

    int x1 = Gdx.input.getX();
    int y1 = Gdx.input.getY();
    Vector3 input = new Vector3(x1, y1, 0);
    cam.unproject(input);
并将输入用作ballsIteratorinput;的参数;。问题是,有人告诉我,为了停止触碰效果,我需要使用触地方法中的代码。但是我该怎么做呢?下面的方法的完整版本我必须在render方法中加入,不管是否有触地效果,我尝试在触地方法中实现InputProcessor并重复该方法的代码,但没有在render方法中调用它,因此它不起作用,当我试图在渲染内部调用它时,我不知道int指针,int按钮要使用什么参数。。。 问题是,在完成上述所有操作之后,我如何在代码中使用触地方法

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();
        }
    }
}

使用Springbua解释,我通过划分迭代器方法来解决问题。重复必要的部分并将负责单击的代码复制到一个新的公共静态void方法,该方法使用Vector3作为参数,在实现InputProcessor的类中,我创建了一个Vector3,并为其提供了触地参数,调用保存click部分的新迭代器方法,并使用InputProcessor类的Vector3作为其参数。

存储Vector3 touchPos并将其设置为触地:touchPos=cam.unprojectnew Vector3screenX,screeny,0。在touchUp中,只需将其设置为null,在render中,您可以说如果touchPos!=零BallsiterTouchPos;删除了我的预览评论,因为我按照你的解释到处玩,并设法实现了我想要的。非常感谢。如果你解决了你的问题,你可以发布解决方案作为答案并接受它,它可能会帮助其他人解决同样的问题。我会的,但因为我仍在学习我的项目有点混乱,它的大部分结构基于基洛波特的僵尸鸟教程。只需写,到底是什么解决了您在这里描述的问题,我想这应该足够了,代码不是真正需要的,或者只是某种伪代码,就像我在评论中所说的那样。