在JavaFX中进行mousedragged:确定拖动另一个节点的卡节点

时间:2013-04-28 09:26:49

标签: javafx-2 mouseevent

我正在尝试通过实施一个小卡片游戏来学习javafx。我可以通过处理mousePressed-和mouseDragged-events来使卡片移动。

在鼠标按下时,我存储拖动的原点,在鼠标拖动事件中,我将x和y转换应用于拖动的卡片。像魅力一样,没有任何延迟。 (我

我的问题是确定拖动卡下的另一张卡(节点)。你有没有意识到s.th.像这样?

我试图避免手动计算来检查交叉点。

1 个答案:

答案 0 :(得分:2)

有一种称为“完全按下 - 释放 - 释放手势”的机制。详细信息记录在MouseEvent和MouseDragEvent类中。

基本上,在拖动的卡上注册一个onDragDetected事件处理程序并在里面进行两次调用: card.startFullDrag(),它可以将MouseDragEvents传递给手势目标 card.setMouseTransparent(),它通过拖动的节点选择手势目标

现在,拖动事件将继续传递到卡上,并且MouseDragEvents将传递到在其下方拾取的节点。不要忘记在手势结束后再切换mouseTransparent标志。