2009-08-26 5 views
0

今日はJavaFXで始まったばかりで、オブジェクトに個別カラーフリップを行う方法を理解することはできません。私は2つのキーフレームでタイムラインを設定し、オブジェクトがその変数にバインドするカラー値を設定することができます...しかし、私が望むものは、離散フリップフロップです。JavaFXで個別のカラーフリップアニメーションを作成するにはどうすればよいですか?

答えて

0

これはもっと探しているかもしれませんが、無期限に繰り返しません。バグかもしれません。 また、私はこれを行うためのきれいな方法があると思います。

import javafx.stage.Stage; 
import javafx.scene.Scene; 
import javafx.scene.shape.Rectangle; 
import javafx.scene.paint.Color; 
import javafx.animation.transition.PauseTransition; 
import javafx.animation.transition.SequentialTransition; 

import javafx.animation.Timeline; 

var fillColor: Color; 

Stage { 
    title : "MyApp" 
    scene: Scene { 
     width: 400 
     height: 200 
     content: [ 
       Rectangle { 
       x: 10, y: 10 
       width: 140, height: 90 
       fill: bind fillColor 
      } 
      ] 
    } 
} 

var seqTransition = SequentialTransition { 
    repeatCount: Timeline.INDEFINITE 
     content: [ 
     PauseTransition { 
      duration: 1s 
      action: function():Void { 
       fillColor = Color.BLUE; 
      } 
     }, 
     PauseTransition { 
      duration: 1s 
      action: function():Void { 
       fillColor = Color.RED; 
      } 
     } 
     ] 
    } 
    seqTransition.play(); 
1

また、fillColorのKeyFrameのキー値でDISCRETEインターポレータを使用することもできます。

Timeline { 
    repeatCount: Timeline.INDEFINITE 
    keyFrames: [ 
     at(0s) { fillColor => Color.BLUE tween Interpolator.DISCRETE; } 
     at(1s) { fillColor => Color.RED tween Interpolator.DISCRETE; } 
    ] 
} 
関連する問題