2013-04-21 82 views
1

我需要製作一個桌面遊戲,用戶可以選擇圖像並將其用作棋盤。圖像部分很容易,但我需要幫助如何根據用戶輸入製作相同大小的網格。例如,可能有10x10個網格或50x50。Java:製作一個基於網格的桌面遊戲

我目前的做法是讓一個StackPane在ImageView上具有一個GridPane。所有這些都在ScollPane中,因此圖像可以儘可能大。

有沒有其他更好的方法來做到這一點?謝謝。

回答

1

是的,使用GridPane爲您的主板。


我用同樣的方法爲我的Tic-Tac-Toe game - 它工作正常。

class BoardSkin extends GridPane { 
    BoardSkin(Board board) { 
    getStyleClass().add("board"); 

    for (int i = 0; i < 3; i++) { 
     for (int j = 0; j < 3; j++) { 
     add(board.getSquare(i, j).getSkin(), i, j); 
     } 
    } 
    } 
} 

您可以使用您的分層板方格後面,你在你的問題提的ImageView一個StackPane,但它不是絕對必要的。相反,我會使用一些更新的css從早先連接的tic-tac-toe遊戲。要將電路板圖像分層放置在網格方塊後面,請將電路板圖像設置爲網格的背景圖像。

.board { 
    -fx-hgap: 10px; 
    -fx-vgap: 10px; 
    -fx-background-image: url('http://www.woodge.com/books/maps/map_Narnia.jpg'); 
    -fx-background-size: cover; 
    -fx-background-position: center; 
} 

.square { 
    -fx-padding: 10px; 
    -fx-background-color: rgba(100, 100, 100, 0.4); 
} 

boardgamebackground

+0

感謝。你的回覆對我很有幫助。 – 2013-04-24 19:48:13