首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >输入没有抓住正确的坐标libgdx java

输入没有抓住正确的坐标libgdx java
EN

Stack Overflow用户
提问于 2015-10-19 03:56:49
回答 2查看 46关注 0票数 0

我正在制作一个采矿游戏,如果你点击某处,你会删除放置在那里的区块。现在所有的块都是正方形,只有当我的2d布尔数组中的点为真时才绘制。因此,我试图将这个位置设置为false,只要您单击这里,就是我的inputprocessor的触地方法。

代码语言:javascript
运行
复制
    private Vector2 tmp = new Vector2();
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
    tmp.x = screenX / MapGrid.CELL_SIZE;
    tmp.y = screenY / MapGrid.CELL_SIZE;
    cam.unproject(new Vector3(tmp.x, tmp.y, 0));
    grid.manipulateGrid((int)(tmp.x), (int)(tmp.y), false);
    System.out.println("Clicked at: (" + tmp.x + ", " + tmp.y +")");
    return false;
}

我也是翻译相机到我的球员位置。grid.manipulateGrid接受x和y并将其设置为false。我的玩家位于(10,126)的网格坐标中,当我点击他旁边的时候,它说我正在点击(35,24),我不确定我是否做对了,但是我一直在到处搜索,找不到解决方案。我发现问题相似,但没有结果。如果有人能告诉我如何调整点击到球员的坐标,我会非常感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-19 18:14:37

你必须在取消投影后划分地图格。

代码语言:javascript
运行
复制
    @Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
    tmp.x = screenX;
    tmp.y = (Gdx.graphics.getHeight() - screenY);
    tmp.z = 0;
    cam.unproject(tmp);
    grid.manipulateGrid((int)(tmp.x) / MapGrid.CELL_SIZE, (int)(tmp.y) / MapGrid.CELL_SIZE, false);
    System.out.println("Clicked at: (" + tmp.x / MapGrid.CELL_SIZE + ", " + tmp.y / MapGrid.CELL_SIZE +")");
    return false;
}
票数 2
EN

Stack Overflow用户

发布于 2015-10-19 04:10:52

嗯,图纸的坐标和输入不一样。在LibGDX中输入的坐标从左上角开始为(0,0),在一般情况下,您绘制的世界坐标以及所有开始向下-左的坐标。所以你需要做的事情是:

代码语言:javascript
运行
复制
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
    tmp.x = screenX / MapGrid.CELL_SIZE;
    tmp.y = (Gdx.graphics.getHeight() - screenY)/ MapGrid.CELL_SIZE;
    cam.unproject(new Vector3(tmp.x, tmp.y, 0));
    grid.manipulateGrid((int)(tmp.x), (int)(tmp.y), false);
    System.out.println("Clicked at: (" + tmp.x + ", " + tmp.y +")");
    return false;
}

有关更多信息,请阅读以下内容:https://gamedev.stackexchange.com/questions/103145/libgdx-input-y-axis-flipped

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33206415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档