기본적으로 JavaFX를 사용하는 텍스트 기반 RPG와 비슷합니다. 지금, 일부 텍스트를 표시하는 데,이있어 : 애니메이션의 길이가 텍스트의 크기에 따라 달라집니다JavaFX 입력 대기
final IntegerProperty i = new SimpleIntegerProperty(0);
Timeline timeline = new Timeline();
KeyFrame keyFrame = new KeyFrame(
Duration.millis(70),
event -> {
if (i.get() > info.getText().length()) {
timeline.stop();
} else {
text.setText(info.getText().substring(0, i.get()));
i.set(i.get() + 1);
}
});
timeline.getKeyFrames().add(keyFrame);
timeline.setCycleCount(Animation.INDEFINITE);
timeline.play();
timeline.setOnFinished(a -> {
hb_start.getChildren().clear();
hb_start.getChildren().addAll(start_left,start_right);
hb_start.setAlignment(Pos.CENTER);
});
때문에, cyclecount이 무기한으로 설정됩니다. 내가 애니메이션을 한 번 재생 한 다음 멈추게하지 않는 다른 방법이 없다면 enter (또는 나중에 결정할 다른 키)를 호출하여 timeline.stop();
을 호출 할 수 있지만, 어떤 종류의 청취자를 추가하는 방법을 알아 내야합니다. keyListener
을 구현하려고하면 내가 필요로하지 않는 모든 종류의 물건이있는 것으로 보이며 TextField
과 작동하지 않으며 대신 JTextField
을 원합니다. 단서가 없다는 점만 제외하면 괜찮습니다. Swing으로 무엇을 할 수있는 방법.
현재 텍스트는 Text
의 텍스트 TextFlow
에 표시되고 있습니다. 청취자가 TextFlow
에 추가되거나 심지어 장면 자체에 추가 될 것이라고 가정합니다. 솔직히, 나는 무엇을 해야할지에 대한 상실감이 있습니다. 그것은 간단하게 들리지만, 나는 그것을 이해하는 것처럼 보일 수 없다.