#java #javafx
Вопрос:
Вот картинка того, что я хочу сделать:
После первого хода я хочу сделать второй ход.
Переход по траектории позволяет двигаться, но я хочу, чтобы он двигался под прямым углом.
Есть ли способ сделать два хода с переводом?
package application; import javafx.animation.TranslateTransition; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; import javafx.scene.shape.Rectangle; import javafx.stage.Stage; import javafx.util.Duration; public class Main extends Application { @Override public void start(Stage primaryStage) { try { BorderPane root = new BorderPane(); Scene scene = new Scene(root,350,350); Rectangle rect = new Rectangle(0, 0, 40, 40); Rectangle point = new Rectangle(0, 0, 10, 10); Rectangle point2 = new Rectangle(300, 0, 10, 10); Rectangle point3 = new Rectangle(300, 300, 10, 10); root.getChildren().addAll(rect, point, point2, point3); TranslateTransition tt = new TranslateTransition(new Duration(1000), rect); tt.setFromX(0); tt.setFromY(0); tt.setToX(300); tt.setToY(0); tt.play(); TranslateTransition tt2 = new TranslateTransition(new Duration(1000), rect); tt2.setFromY(0); tt2.setToY(300); tt2.play(); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); }
}
Комментарии:
1. Вы можете использовать a
SequentialTransition
, чтобы анимации воспроизводились одна за другой. Хотя вы могли бы вместо этого использовать синглPathTransition
с подходящейPath
для достижения той же анимации в этом случае.2. Спасибо. Я решил ее благодаря тебе. Это самое лучшее.
3. вы можете подумать о том, чтобы ответить и принять свой собственный вопрос (с кодом, который его решает), чтобы сделать его полезным для будущих читателей 🙂
4. Пожалуйста, поставьте рабочий код в качестве ответа — чтобы другие могли извлечь выгоду!