libro
www.tuyano.com
初心者のためのJavaFXプログラミング入門

JavaFXのアニメーション機能 (2/5)

作成:2015-04-18 08:55
更新:2015-04-18 08:55

■アニメーションの設定用メソッド

TranslateTransitionインスタンスを作成したら、続いてメソッドを呼び出して、アニメーションに関する細かな設定を行っていきます。これには、さまざまなメソッドが用意されていますが、まず必要となるのは以下のものでしょう。

●移動元の位置を設定するメソッド
《TranslateTransition》.setFromX(《double》);
《TranslateTransition》.setFromY(《double》);
《TranslateTransition》.setFromZ(《double》);

●移動先の位置を設定するメソッド
《TranslateTransition》.setToX(《double》);
《TranslateTransition》.setToY(《double》);
《TranslateTransition》.setToZ(《double》);

●オートリバースの設定
《TranslateTransition》.setAutoReverse(《boolean》);

●繰り返し回数の設定
《TranslateTransition》.setCycleCount(《int》);

ひと通りの設定ができたら、最後にTranslateTransitionの「play」メソッドを呼び出してアニメーションをスタートします。また、途中で停止する「stop」や「pause」といったメソッドも用意されています。いずれも引数なしで、ただ呼び出すだけです。

下に、簡単なサンプルを挙げておきましょう。前回までと同様、クラスに用意した図形作成用のメソッドcreateShapeを書き換える形でまとめておきます。実行すると、シアンの四角形が左右に往復運動をします。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

// import javafx.animation.*;
// import javafx.util.Duration;

public void createShape(Pane root){
    Rectangle r = new Rectangle(20, 20, 50, 50);
    r.setFill(Color.CYAN);
    root.getChildren().add(r);
    new TranslateTransition();
    
    TranslateTransition tt = new TranslateTransition(new Duration(1000), r);
    tt.setFromX(20);
    tt.setToX(100);
    tt.setAutoReverse(true);
    tt.setCycleCount(10);
    tt.play();
}

※関連コンテンツ

「初心者のためのJavaFXプログラミング入門」に戻る