Java 需要帮助移动对象吗

Java 需要帮助移动对象吗,java,graphics,animation,grid,Java,Graphics,Animation,Grid,我需要关于如何移动对象(在我的应用程序中代表机器人的圆)的想法 对象将在其上移动的曲面由3行3列(以数组表示)的BuffereImage平铺组成。所有瓷砖尺寸相同(160 X 160)。第三行和第三列是物体必须在其上移动的轨道。 这意味着物体(机器人)可以水平(向前和向后)和垂直(向上和向下)移动。 位置[2][2]处的瓷砖(请从顶部开始计数。因此,最上面一行将为0,后面一行为1等)是一个交叉点,机器人将使用该交叉点切换到垂直轨道或水平轨道 我现在的问题是如何在交叉点转向后将对象移动到特定的平铺

我需要关于如何移动对象(在我的应用程序中代表机器人的圆)的想法

对象将在其上移动的曲面由3行3列(以数组表示)的BuffereImage平铺组成。所有瓷砖尺寸相同(160 X 160)。第三行和第三列是物体必须在其上移动的轨道。 这意味着物体(机器人)可以水平(向前和向后)和垂直(向上和向下)移动。 位置[2][2]处的瓷砖(请从顶部开始计数。因此,最上面一行将为0,后面一行为1等)是一个交叉点,机器人将使用该交叉点切换到垂直轨道或水平轨道

我现在的问题是如何在交叉点转向后将对象移动到特定的平铺。例如,机器人将位于位置[2][1]的瓷砖中,并希望在交叉点转动后移动到位置[1][2]的瓷砖中,然后再向上移动。或者它可以在[1][2]处,并希望在十字路口转弯后移动到[2][1],然后再向后移动

如何将机器人从一块瓷砖移动到另一块瓷砖?我可以通过哪种方式引用BuffereImage中可以放置对象的特定磁贴。我想要的只是给我一些想法,我可以怎么做

请这是我第一次做这样的项目,所以原谅我,如果我的问题太简单。有了你的解释和帮助,我会从中学到更多


多谢各位

为了显示图像,您需要计算出要将图像放入的网格的边界。我通常创建两个辅助方法,一个用于将栅格坐标转换为显示坐标,另一个用于转到另一个方向

private Point convertGridToDisplay(int x, int y) {
  return new Point(x * 160, y * 160);
}

private Point convertDisplayToGrid(int x, int y) {
  return new Point(x / 160, y / 160);
}
convertGridToDisplay()
将为您提供绘制图像的左上角坐标

例如:

Point point = convertGridToDisplay(2, 1);
graphics.drawImage(img, null, point.x, point.y)
将在网格(2,1)处绘制图像


convertDisplayToGrid()
当你想知道鼠标在哪个网格中点击时会很方便。

你能发布一些相关的代码吗。就目前而言,回答你的问题将非常困难。这些例子有帮助吗?您正在尝试使用哪些库?目前,我只制作了一个网格,它是一个3行3列的BuffereImage平铺。我没有任何具体的代码可以显示。我需要一种方法来计算如何将对象移动到正确的单元格。我希望我在这里说得很清楚。