java - javaFX 翻译动画不会双向触发?
问题描述
现在我正在尝试用 JavaFX 编写一个简单的算盘。在网格窗格中排列的水平轨道上有球,我正在使用 translateTransition 在单击时将它们向右移动。以下是我现在拥有的代码,它在网格中的任何球上都可以正常工作,只是它只动画向右移动。在第二次单击时,球跳回左侧到其原始位置,没有动画,我不知道为什么它没有动画。任何帮助或想法将不胜感激!
private void onClick(final Circle circle) {
circle.setOnMouseClicked(new EventHandler<MouseEvent>() {
public void handle(MouseEvent mouseEvent) {
//set movement direction, check if circle has been moved
int targetX = 200;
if (circle.getTranslateX() > 1) {
targetX = 0;
}
//animation trigger and details
TranslateTransition push = new TranslateTransition(Duration.millis(500));
push.setNode(circle);
push.setFromX(circle.getCenterX());
push.setToX(targetX);
push.play();
}
});
}
解决方案
推荐阅读
- azure-ad-graph-api - 在 Azure Graph API 中获取更新注释
- python - 在 Keras 中显示“y”的预测值和对应的实际“x”值
- javascript - 所有 axios 请求都在一台机器上停止,但不是隐身
- javascript - 如何将垫对话框注入服务?
- vue.js - 从父级 Vuejs 打开折叠
- c# - 当我执行 SetParent() 时,我的孩子远离父母
- java - OpenHTMLToPDF 构建非漏洞文档
- sap - HANA CDS 中 FIRST_VALUE 函数的语法错误
- rest - 休息 GET 请求。如何添加更多参数
- r - 基于 R 中另一列的值进行计数