2015-02-05 41 views
0

我堅持在這個階段,如何將3個塔添加到StackPane中,以及如何在沒有Scene Builder的情況下僅使用JavaFX代碼在該窗格內移動磚塊(例如1-2-3) ?我會很感激任何答案!JavaFX,在StackPane中添加圖像

圖片:

game image

回答

4

我的建議:

您創建一個類 「塔」,它擴展了類Pane幷包含磁盤列表。該類有一個方法「接受」,它返回布爾值,取決於您是否可以放置磁盤。

創建類塔的3個實例。

然後,您創建一個擴展類Rectangle的類「磁盤」。創建8個不同寬度的實例,並將它們添加到第一個塔,即類塔的列表。

每個磁盤將使用一個mouselistener,如Drag nodes like in a patience/Klondike card game中所述。該機制與您所需要的非常相似。

在鼠標監聽器的mousepressed處理程序中,檢查磁盤是否位於塔頂,因此是否可以拖動它。

在鼠標偵聽器的mousereleased處理程序中,您只需檢查磁盤是否與給定塔相交(請參閱boundsInParentintersects)。如果有,並且accept方法返回true,則將其放在那裏。如果accept方法返回false,則讓它返回到它來自的位置。

當塔有所有磁盤時,您就完成了。

基本上就是這樣。

哦,不要使用StackPane,而是使用窗格。你不需要圖像。您顯示的圖片可以僅由矩形創建。

+0

我很欣賞羅蘭! – ie2020 2015-02-06 08:31:19

+0

感謝羅蘭我完全完成了河內塔遊戲))!!! – ie2020 2015-03-12 22:31:13

+0

太棒了!歡迎您:-) – Roland 2015-03-13 04:49:31