2010-01-01 63 views
0

我剛從JavaFX開始,像往常一樣學習一門新語言時,我從一個小項目開始。簡短版本的時間軸

據我瞭解

at(0ms) { 
    //change values 
}, 

僅供

KeyFrame { 
     time : 0ms 
     values : //change values 
    } 

快捷方式後,爲什麼我的代碼移動吃豆子做兩件完全地不同的事情取決於我使用哪種方法?第一個版本按預期工作(向正確的方向移動並打開/關閉他的嘴),而第二個混亂(startAngle不變,他停留在他的位置,但長度變化)

   at(0ms) { 
        startAngle => angle + 45; 
        length => 360 - 90; 
       }, 
       at(150ms) { 
        startAngle => angle; 
        length => 360; 
       } 
       at(300ms) { 
        startAngle => angle + 45; 
        length => 360 - 90; 
        row => newRow; 
        column => newColumn; 
       } 


       KeyFrame { 
         time : 0ms 
         values : { 
          startAngle => angle + 45; 
          length => 360 - 90; 
         } 
       }, 
       KeyFrame { 
         time : 150ms 
         values : { 
          startAngle => angle; 
          length => 360; 
         } 
       }, 
       KeyFrame { 
         time : 300ms 
         values : { 
          startAngle => angle + 45; 
          length => 360 - 90; 
          row => newRow; 
          column => newColumn; 
         } 
       }, 

如果我們在這個問題上,我該如何創建一個可變時間值的時間線?我嘗試使用持續時間變量,但這不符合它的方式。例如。時間:1000ms與時間完全不同:timePerMove與 var timePerMove:Duration = valueOf(1000);

回答

1

好了,發現了自己: 你不能寫類似

    values : { 
         startAngle => angle; 
         length => 360; 
        } 

它編譯,但它不工作的方式應該。