FTK中的動畫機制

來源:互聯網
上載者:User

 

轉載時請註明出處和作者連絡方式
文章出處:http://www.limodev.cn/blog

作者連絡方式:李先靜 <xianjimli@gmail.com>

 

雖然FTK很早就支援了視窗動畫,但是作為動畫的實現者,我不得不承認FTK的0.6版本之前的動畫實現非常蹩腳。主要原因有幾點:

1. 動畫運動的速度是單一的勻速運動。
2. 動畫的幀數不能隨著硬體效能而改變。
3. 動畫只有視窗的入場(顯示)動畫,而沒有視窗的出場(關閉)動畫。
4. 動畫機制沒有整合到GUI中,必須由使用者建立和調用,使用起來比較麻煩。

前段時間因為工作需要花了不少時間去研究Android的GUI的實現,特意關注了它的動畫實現,從中受到不少啟發。最近重新實現了FTK的動畫機制,很大程度上借鑒了Android的動畫原理,當然具體實現上是有很大差異的。這裡簡單介紹一下FTK的視窗動畫實現:

動畫已耗用時間和動畫運行進度之前的關係

如果動畫勻速運動,那麼時間和位置是線性關係的,比如時間過去50%,那麼動畫會運行到50%的位置上。但是實現中的物體運動,可能是加速運動,減
速運動或皮球一樣反彈的,如果所有視窗動畫都使用勻速運動,很難達到理想的動畫效果。為瞭解決這個問題,我們引入一個插值器(interpolator)
來實現時間和位置之間的變換。

呵,懶得帖圖,請閱讀PDF文檔


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.