JavaFX でゲームプログラミング超入門 その5
パックマンのようなゲーム2
前回に続き、パックマンのようなゲームを作っていきたいと思います。
今回追加した処理は、得点と制限時間です。得点は黄色の丸の場所に移動すると、得点が1増加します。全てのポイントを取得すると、プレイヤを動かすことが出来なくなり、制限時間も止まります。
また、制限時間が0になるまでプレイヤを動かすことができます。
参考動画
タイマーに関するコード
10から0まで1秒ごとに数字が減少していきます。
import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.text.Font; import javafx.stage.Stage; import javafx.util.Duration; public class TimerSample extends Application{ public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) throws Exception{ stage.setTitle("Time"); stage.setHeight(100); stage.setWidth(300); Label label = new Label(); label.setText("10"); label.setFont(new Font(20)); Group g = new Group(); g.getChildren().add(label); Scene scene = new Scene(g); Timeline timer = new Timeline(new KeyFrame(Duration.millis(1000), new EventHandler<ActionEvent>(){ @Override public void handle(ActionEvent event) { label.setText(String.valueOf(Integer.parseInt(label.getText()) - 1)); } })); timer.setCycleCount(10); timer.play(); stage.setScene(scene); stage.show(); } }