在LibGDX中制作基于触摸的连接点类型的游戏

在LibGDX中制作基于触摸的连接点类型的游戏,libgdx,Libgdx,我正在制作连接点类型的游戏,我必须画一条线到我在屏幕上触摸的位置,所以我使用vector来存储我触摸的各个点 我曾经 if(Gdx.input.isTouched()) { touchpos.set(Gdx.input.getX(), Gdx.input.getY()); System.out.println("touch at "+touchpos.x+" "+touchpos.y); if(circle1.contains(touchpos)) {

我正在制作连接点类型的游戏,我必须画一条线到我在屏幕上触摸的位置,所以我使用vector来存储我触摸的各个点

我曾经

if(Gdx.input.isTouched())
{
    touchpos.set(Gdx.input.getX(), Gdx.input.getY());
    System.out.println("touch at "+touchpos.x+" "+touchpos.y);

    if(circle1.contains(touchpos)) {
        ver[i]=touchpos;
        dline1=true;
        i++;
    }
所以我的touchpos的坐标在向量中被更新,我画一条线到那个点。但是上面的代码
ver[i]=touchpos
行似乎不采用触摸坐标

请帮我做这个。

提前谢谢

在这里,当您指定值ver[i]=touchpos时,您不是在创建新对象

因此,我们所有的参考版本[0],版本[1]。。。etc其他是相同的对象touchpos

所以,您可以创建数组的所有对象,然后使用ver[i].set(touchpos.x,touchpos.y)

正如noone说的,你应该使用

camera.unproject(touchpos.set(Gdx.input.getX(), Gdx.input.getY(),0));

其中touchpos是vector3对象

打印touchpos数组,以查看触摸后其中的内容。试着像在
System.out.println(“触摸”+touchpos.x+“”+touchpos.y)上那样打印x和y
如果你使用
摄像机
你应该
摄像机。取消投影(矢量)
以获取游戏世界中的坐标,而不是屏幕坐标。我建议使用
阶段
输入处理器
而不是使用
iTouched()
函数。在这种情况下,use也可以使用touchdrable()。