我正在制作连接点类型的游戏,我必须画一条线到我在屏幕上触摸的位置,所以我使用矢量来存储触摸的各个点。
我用过
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
似乎没有采用触摸坐标。
请帮帮我 提前谢谢!
答案 0 :(得分:4)
这里,当您分配值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对象