2010-04-06 36 views
0

Je veux créer une animation où la balle se déplacera dans l'un des 4 secteurs d'un cercle de manière aléatoire.Ceci se produira 5 fois.so, je créez une boucle while (i < 5) et appelez la fonction random.i puis créez une boucle if et attachez des valeurs x et y en fonction de la valeur fn aléatoire.i puis créez un objet chronologie dans la boucle while et dans l'image clé value, j'utilise ces valeurs x et y. mais quand je lance le programme, ce qui se passe c'est que toutes les valeurs sont créées (valeurs x et y vues par println) mais seulement la dernière valeur x et y (pour i = 5) est rendu à l'écran. Les animations pour les valeurs précédentes (1 < = i < = 4) ne sont pas rendues.S'il vous plaît conseiller où ai-je mal tourné?en utilisant une boucle While pour contrôler la valeur d'une image-clé dans une timeline en Javafx

exécution de la fonction publique (args: String []) {

var i = 0; while (i < 5) { var z = gety(); println (z); // var relativeTime: Durée = 0s; si (z == 1) {xbind = 120; ybind = 80; } else if (z == 2) { xbind = 120; ybind = 120; } sinon if (z == 3) { xbind = 80; ybind = 120; } else if (z == 4) { xbind = 80; ybind = 80; }

var t: Chronologie Chronologie = {

//time: bind pos with inverse; 
repeatCount: Timeline.INDEFINITE 
    autoReverse: true 

    keyFrames: 
     [ 


     KeyFrame{ 
    time: 0s values: [ x => 100.0,y => 100.0]}, 
    KeyFrame{time: 2s values:[x => xbind tween Interpolator.LINEAR, 
    y => ybind tween Interpolator.LINEAR,] 
}, 
    ] 


    }//end timeline 

    i++; 
    t.play(); 
Thread.sleep(2000); 
}//end while 

}

Répondre

0

Mise à jour des valeurs liées pour l'animation en boucle semble être un anti-modèle relativement courant. La mise à jour des valeurs liées dans un scénario est une meilleure solution. Pour étudier this post un fragment de code. A noter également que l'utilisation d'une étape signifie que vous n'avez pas besoin de mettre la logique dans une fonction run().