プロジェクト

全般

プロフィール

« | » 

リビジョン 247fcba8

高徹 高橋 徹 さんが9年以上前に追加

高速化(CPU負荷軽減)のためアニメーションのフレームレートを規定(60fps)からコマンドライン引数で任意に指定可能とした。

差分を表示:

AnalogClockSvg/src/analogclocksvg/AnalogClockController.java
* @author TAKAHASHI,Toru
*/
public class AnalogClockController implements Initializable {
private static double framerate;
@FXML
private SVGPath hourHand;
@FXML
......
@FXML
private SVGPath secondHand;
public static void setTargetFramerate(double rate) {
framerate = rate;
}
@Override
public void initialize(URL url, ResourceBundle rb) {
LocalTime now = LocalTime.now();
......
}
private Timeline createRotateTimeline(Duration duration, int startAngle, Rotate rotate) {
Timeline timeline = new Timeline();
Timeline timeline = new Timeline(framerate);
rotate.setAngle(startAngle);
timeline.getKeyFrames().add(new KeyFrame(duration, new KeyValue(rotate.angleProperty(), startAngle + 360)));
timeline.setCycleCount(Animation.INDEFINITE);
AnalogClockSvg/src/analogclocksvg/AnalogClockSvg.java
Platform.runLater(() -> zoom(Double.valueOf(params.getOrDefault("scale", "1.0"))));
Platform.runLater(() -> stage.setX(Double.valueOf(params.getOrDefault("x", "0.0"))));
Platform.runLater(() -> stage.setY(Double.valueOf(params.getOrDefault("y", "0.0"))));
AnalogClockController.setTargetFramerate(Double.valueOf(params.getOrDefault("fps", "60.0")));
}
}

他の形式にエクスポート: Unified diff