【问题标题】:LibGDX change tile onclickLibGDX 更改磁贴 onclick
【发布时间】:2014-05-23 18:40:33
【问题描述】:
所以我只是在创建一个塔防游戏。
现在我正在尝试配置,玩家可以点击一个图块,通过这样做,一个对象被附加到这个图块上,这个对象的纹理用于该图块。
我不知道该怎么做。
我不知道如何处理 onclick 事件,因为您无法在图块、地图、单元格等上设置这些事件。...(我尝试创建一个与图块地图大小相同的 Actor,但我不知道如何将 x 和 y 位置转换为正确的图块...)
我考虑过使用 MapObjects,但我只是不明白这些,我在网上找不到很好的解释。
【问题讨论】:
标签:
java
onclick
libgdx
tiles
【解决方案1】:
您应该检查鼠标点击并根据需要进行处理:
要查看鼠标是否被按下,请使用:
boolean mouseLeftDown = Gdx.input.isButtonPressed(Input.Buttons.LEFT);
要获取鼠标的位置,请使用:
int mouseX = Gdx.input.getX();
int mouseY = Gdx.input.getY();
现在您有了鼠标的位置,您可以找出鼠标下方的图块。例如,如果您在 2D 数组中有 Tile 对象,每个图块为 64 x 64,您可以对图块执行此操作:
Tile clickedTile = tiles[mouseX/64][mouseY/64];