Java 图像在游戏板上移动

Java 图像在游戏板上移动,java,swing,Java,Swing,我将此板作为游戏板: 这个想法是让一个图像在整个电路板中穿行,然后在侧面的一个圆圈中结束(浅色) 我已经没有主意了,知道怎么设置吗 注: -我正在使用Swing库,下面的代码是如何将板设置到Jframe(Jframe=bp)中的 当然,你需要一些东西 首先,每个图像都需要一个“中心”(图像坐标),电路板上的每个有效位置都需要一个坐标(电路板坐标) 然后,您需要使用一些数学来将图像转换为正确的坐标。这很简单 placedImage = imageCoords + boardCoords 由于图像

我将此板作为游戏板: 这个想法是让一个图像在整个电路板中穿行,然后在侧面的一个圆圈中结束(浅色) 我已经没有主意了,知道怎么设置吗

注: -我正在使用Swing库,下面的代码是如何将板设置到Jframe(Jframe=bp)中的


当然,你需要一些东西

首先,每个图像都需要一个“中心”(图像坐标),电路板上的每个有效位置都需要一个坐标(电路板坐标)

然后,您需要使用一些数学来将图像转换为正确的坐标。这很简单

placedImage = imageCoords + boardCoords
由于图像有一个边界,因此根据图像坐标设置图像边界是有意义的。这意味着转换的边界与

upperLeftBoundary = boundaryInImageCoords + boardCoords
然后,您的绘图例程应该绘制电路板,并绘制图像,但在您的情况下,您希望在电路板坐标中绘制它们

如果你知道线性代数,你可以将坐标系之间的“平移”存储在一个矩阵中,重新定位图像可以像

boardCoordinates = locationTranslation * imageCoordinates
其中,imageCoordinates存储为向量,locationTranslation是形式的矩阵

T = [1 0 dx]
    [0 1 dy]
    [0 0 1 ]

也许您可能假设只有一个javagui库,并且给定您的图像和描述,我们将知道如何帮助您,但事实并非如此。有几个GUI库,包括Swing、AWT、SWT,为了帮助您,我们需要知道您正在使用哪个库,还需要查看相关代码。很抱歉,我没有忽略您的评论,我只是忘记回答,我想我正在使用SWT,因为我正在将JFrames和JPanel插入我的代码中。谢谢您提供的信息,但似乎您并没有使用SWT,而是使用Swing(您的代码中可能包含
import javax.Swing.
)。让我更新你的问题标签,你仍然想发布相关的代码,最好是一个。非常感谢,有没有代码方面的例子我可以遵循?@Neyon:你仍然忽略了我对你原始问题的评论。如果我们仍然不知道您使用的是什么GUI库或什么代码,如何推荐代码?请把这个修好。1+这个体面的答案顺便说一句,@Neyon编程是写,而不是复制。当我们站在别人的立场上工作时,你不能仅仅把一本书从其他书的复制页粘贴在一起,然后得到任何有意义的东西。对于绘图,我建议使用Swing,对于矩阵的乘法,我建议使用。@EdwiBuck,是的,我要求这样的东西,文档将解释更多:)谢谢lot@Neyon很高兴能帮忙,祝你今天愉快。如果你遇到问题,就把你的一些东西贴出来。
T = [1 0 dx]
    [0 1 dy]
    [0 0 1 ]