3

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

我用了

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似乎没有获取触摸坐标。

请帮我解决一下这个。
提前致谢!

4

1 回答 1

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 对象

于 2013-08-30T11:46:23.630 回答