JavaFx文本移动动画

时间:2016-09-19 11:00:30

标签: java animation javafx

您好我想做这样的事情:
我有文字,我希望文本一直从右向左移动。我想设置边界移动文本是一个窗格边界。现在我有了这个,但它不能按照我希望的方式工作

  public static void start(Text msg) {
    msg.setTextOrigin(VPos.TOP);
    double sceneWidth = Config.xSize;
    double msgWidth = msg.getLayoutBounds().getWidth();
    KeyValue initKeyValue = new KeyValue(msg.translateXProperty(), sceneWidth);
    KeyFrame initFrame = new KeyFrame(Duration.ZERO, initKeyValue);
    KeyValue endKeyValue = new KeyValue(msg.translateXProperty(), -1.0
        * msgWidth);
    KeyFrame endFrame = new KeyFrame(Duration.seconds(50), endKeyValue);
    Timeline timeline = new Timeline(initFrame, endFrame);
    timeline.setCycleCount(Timeline.INDEFINITE);
    timeline.play();

我想在我的应用程序中有一个右到左的幻灯片文本

1 个答案:

答案 0 :(得分:1)

您不需要KeyValue endKeyValueKeyFrame endFrame - > 删除它们。在timeline.setAutoReverse(true);之前添加timeline.play();

Timeline timeline = new Timeline(initFrame, endFrame); - > Timeline timeline = new Timeline(initFrame);

希望我能帮助你。

修改

initFrame的持续时间更改为Duration.seconds(50)或其他内容。