我正在制作连点类型的游戏,我必须在屏幕上触摸的位置画一条线,所以我使用矢量来存储我触摸的各个点。
我用过
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 时,您并没有创建一个新对象
所以我们所有的引用 ver[0]、ver[1] ... 等等都是相同的对象touchpos。
所以你可以做的是创建数组的所有对象,然后使用 ver[i].set(touchpos.x,touchpos.y)
也没有人说你应该使用
camera.unproject(touchpos.set(Gdx.input.getX(), Gdx.input.getY(),0));
其中touchpos是vector3对象
关于libgdx - 在 LibGDX 中基于触摸制作连接点类型的游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18526719/