0
我正在嘗試製作我自己的跳棋版本,而且我目前已經編寫了存儲繪製棋盤和棋子的代碼。如何在java中分層圖形?
每次我運行代碼時,我都會得到不同的結果,因爲電路板正在繪製某些部分。我如何讓所有片段始終出現在電路板上?我瞭解類似的問題,但他們沒有提供任何有用的幫助。
下面是是代碼繪製板:
public void paint(Graphics gr) {
Graphics2D gr2D = (Graphics2D) gr;
gr2D.setColor(color1);
BasicStroke stroke = new BasicStroke(strokeThickness,
BasicStroke.CAP_SQUARE, BasicStroke.JOIN_ROUND);
gr2D.setStroke(stroke);
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
gr.setColor((gr.getColor() == color2)
? color1 : color2);
gr.fillRect((int) (start + CHANGEVAL * i),
(int) (start + CHANGEVAL * j),
(int) CHANGEVAL,
(int) CHANGEVAL);
}
gr.setColor((gr.getColor() == color2)
? color1 : color2);
}
}
而這裏的,提請有關的多條代碼:
public static void setPieces() {
posX = 0;
posY = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
aryPiecePos[posX][posY] = SQUARE_STATE_RED;
board.repaint(board.getCoordX(posX), board.getCoordY(posY), Color.RED);
posX += 2;
}
posX = (posX == 8 ? 1 : 0);
posY += 1;
}
posX = 1;
posY = 5;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
aryPiecePos[posX][posY] = SQUARE_STATE_BLACK;
board.repaint(board.getCoordX(posX), board.getCoordY(posY), Color.BLACK);
posX += 2;
}
posX = (posX == 8 ? 1 : 0);
posY += 1;
}
}
而且這裏是我所有代碼的鏈接: 下面是一個超鏈接我目前有什麼:https://drive.google.com/open?id=0B2uJqRSB8ckHYW53NmZsZDdxWWs