首页 文章

JavaFX,在StackPane中添加图像

提问于
浏览
0

我坚持在这个阶段,如何将3个塔添加到StackPane以及如何仅使用没有Scene Builder的JavaFX代码移动窗格内的砖块(例如1-2-3)?我会很感激任何答案!

图片:

game image

1 回答

  • 4

    我的建议:

    您创建了一个类"Tower",它扩展了类Pane并包含一个磁盘列表 . 该类有一个方法"accept",它返回布尔值取决于你是否可以放一个磁盘 .

    创建塔类的3个实例 .

    然后创建一个类"Disk",它扩展了类Rectangle . 创建8个不同宽度的实例,并将它们添加到第一个塔,即塔类列表 .

    每个磁盘将使用Drag nodes like in a patience/Klondike card game中描述的mouselistener . 该机制与您的需求非常相似 .

    在鼠标监听器的鼠标处理程序中,您可以检查磁盘是否位于塔顶,因此是否可以拖动它 .

    在鼠标监听器的鼠标释放处理程序中,您只需检查磁盘是否与给定塔相交(请参阅boundsInParentintersects) . 如果确实如此,并且accept方法返回true,则将其删除 . 如果accept方法返回false,则让它飞回原来的位置 .

    当塔有所有磁盘时你就完成了 .

    基本上就是这样 .

    哦,不要使用StackPane,而是使用Pane . 而且你不需要图像 . 您显示的图片可以仅由矩形创建 .

相关问题