我试图了解JavaFX动画是如何工作的,所以我尝试根据本教程创建一个地球移动的动画:https://gamedevelopment.tutsplus.com/tutorials/introduction-to-javafx-for-game-development--cms-23835。
出于某种原因,我想要显示的场景是在舞台上设置的,但图形或动画不是。我很确定这个是微不足道的,我似乎无法找到原因。这是我的主类代码:
https://www.google.com
这是Window类代码:
public class Main extends Application {
private static Stage stage;
private static Window window;
private static Scene scWindow;
@Override
public void start(Stage primaryStage) {
stage = primaryStage;
stage.setTitle("Animation");
showWindow();
stage.show();
}
public static void showWindow() {
window = new Window();
scWindow = new Scene(window, 400, 400);
stage.setScene(scWindow);
}
public static void main(String[] args) {
launch(args);
}
}
没有异常抛出或任何东西,我不知道出了什么问题。
编辑: 我知道我没有在构造函数中的setCenter / Left等中放置任何东西,所以实际上如果是原因,我应该如何设置动画,例如在边框窗格的中心?
答案 0 :(得分:1)
您忘记将root
添加到场景中。添加类似
setCenter(root);
到Window
的构造函数。
或者只需使用Canvas
作为中心:
public Window() {
Canvas canvas = new Canvas(512, 512);
gc = canvas.getGraphicsContext2D();
setCenter(canvas);
gc.setFill(Color.BLACK);
Anim a = new Anim();
a.start();
}