Я попытался добавить вид изображения и холст на панель в javafx, где вид изображения анимирован для перехода по пути. Однако анимация воспроизводится далеко от того места, где находится холст. Что может быть причиной этого?
Создание стековой панели и с холстом, и с бегущим спрайтом.
Этот отредактированный код очень похож на мой, отображающий проблему только с помощью круга вместо изображения
public class issue extends Application{
public void start(Stage stage) throws Exception {
StackPane root = new StackPane();
Canvas canvas = new Canvas(500,500);
GraphicsContext gc = canvas.getGraphicsContext2D();
File file = new File("src/Image.png");
gc.drawImage(new Image(file.toURI().toString()),0,0);
Circle circle = new Circle(32,32,32);
Line path = new Line(circle.getCenterX(), circle.getCenterY(),0,0);
PathTransition move = new PathTransition();
move.setDuration(Duration.millis(2000));
move.setNode(circle);
move.setPath(path);
move.setAutoReverse(false);
move.setCycleCount(1);
move.play();
root.getChildren().addAll(canvas,circle);
Scene scene = new Scene(root,500,500);
stage.setScene(scene);
stage.show();
} }
Код анимации соответствует той же формуле для размещения спрайтов, поэтому я не понимаю, почему изображение находится в другом месте, чем изображение персонажа.
Некоторые скриншоты того, что это выглядит выполненным: Персонаж, нарисованный на холсте, где он должен быть
Анимация ходьбы персонажа вне холста, независимо от того, нарисован ли он в одинаковых / похожих координатах