我把这个棋盘作为游戏板:http://puu.sh/k5e6O/c5eebd31f3.png 这个想法是有一个图像遍布整个板,然后它最终在一侧的一个圆圈(浅色) 我有点想法,任何想法如何设置?
注意: - 我使用的是Swing库,下面的代码是我如何将电路板设置为Jframe(Jframe = bp)
gameBoard = new ImageIcon("gameBoard.png");
JLabel gameBoard_1 = new JLabel(gameBoard);
bp.add(gameBoard_1);
答案 0 :(得分:3)
当然,你需要一些东西。
首先,每张图片都需要一个"中心" (图像坐标)和电路板上的每个有效位置都需要一个坐标(电路板坐标)。
然后,您需要使用一些数学运算将图像转换为正确的坐标。它就像
一样简单placedImage = imageCoords + boardCoords
由于图像有边界,因此设置图像边界是基于图像坐标是有意义的。这意味着翻译的边界与
相同upperLeftBoundary = boundaryInImageCoords + boardCoords
然后你的绘图程序应该绘制板,并绘制图像,但在你的情况下,你想要在板坐标中绘制它们。
如果你知道线性代数,你可以存储"翻译"在矩阵中的坐标系之间,重新定位图像可以像
一样简单boardCoordinates = locationTranslation * imageCoordinates
其中imageCoordinates存储为向量,locationTranslation是格式
的矩阵T = [1 0 dx]
[0 1 dy]
[0 0 1 ]