0

我有一个关于 JavaFX 的问题。我自学了 Java,现在我正在学习 JavaFX。

我一直在尝试更新屏幕上 50x50 黑色块的位置。我有一个 YAxis 变量,当我更改时会更改块的位置。

我希望块像俄罗斯方块一样在屏幕上“流动”。

我的代码很乱,因为我只是在搞乱它,所以请原谅:

package gamefx;

import javafx.animation.Animation;
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.geometry.Rectangle2D;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class GameFX extends Application {

  public Image img = new Image("Block1.png");
  public ImageView image = new ImageView(img);
  public int YAxis = -200;


  @Override
  public void start(Stage primaryStage) throws InterruptedException{
    primaryStage.setTitle("Game");
    StackPane stckp1 = new StackPane();
    Scene scn = new Scene(stckp1, 700, 700);

    primaryStage.setScene(scn);
    primaryStage.show();
    image.setTranslateY(YAxis);
    stckp1.getChildren().add(image);
  }
}
4

1 回答 1

0

既然你想看到你的块移动,你需要一个动画。有关详细信息,请参阅Oracle 教程

快速编写的示例代码:

TranslateTransition tt = new TranslateTransition(Duration.millis(2000), image);
tt.setByY(yAxis);
tt.setCycleCount(1);
tt.play();

旁注:变量名称不应以大写字母开头。使用yAxis而不是YAxis.

于 2013-10-26T11:23:54.770 回答