前言

很多人都對iPhone的用戶介面讚嘆不已。其中multi-touch功能當然是成功的其中一個關鍵,但回顧蘋果電腦的用戶介面,你皆會發現Mac OS中的transition效果都有如絲一般的順滑,感覺自然輕快。再比較一下Windows介面,你會發覺很多時候表單和視窗都是”啪”一聲的彈出來,絕無美感可言。雖然Windows推出了Vista,但介面感覺始終比Mac OS還很大的距離。

這一系列的文章,就是想教大家如何在Flash中也可做出流暢如絲般的transition。除了programming的知識外,還會導入少許美學及數學的概念,畢竟RIA也是科技與藝術的結合啊。

習慣

說回正題,要做到iPhone般流暢的感覺,就先要知道為甚麼你會認為那是流暢? 甚麼驅使你得出這一個感覺? 我會答: 因為你已習慣了。細仔觀察iPhone介面的transition,你會發現兩個特徵: 曲線軌跡(arcs)及加速減速(easing)。這兩大特徵,就正正是我們身處的世界,所有物件都受了物理控制而產生既定的移動方法。也因為你習慣身處這世界,你會對跟曲線運行或有加速減速的物件感到自然,產生喜歡的感覺。相反,你會對”瞬間轉移”的東西不習慣,產生不自己的感覺。

曲線軌跡

物件是以曲線軌跡運行的

物件是以曲線軌跡運行的

在我們的世界裡,物件運行時的軌跡很多時都是曲線的。例如你拋球,球受地心吸力,會沿著曲線先向上慢慢減速,然後停止於最高點,再跌下來向下加速。又例如你揮動你的手腕手臂的關節時,拳頭的軌跡也是曲線的。曲線永遠給人的感覺是順滑的,沒有尖角,客易相處。

曲線可以很容易用數學來表達,以下是一些例子:

  • y = sin(x) (sine curve)
  • y = x2 (parabola)
  • x2 + y2 = R2 (circle)

你有沒有試過在Flash中用這些公式控制movieclip的位置呢?

加速減速

所有物件移動都會有加減速

所有物件移動都會有加減速

在我們的世界裹,所有物件從不動到動,是要加速的。物件的速度不會突然由0km/h突然跳升去100km/h,而時隋住時間慢慢的改變。好像駕車一樣,車要動時要踏油門慢慢加速,要停時就踩break慢慢減速。除非是車頭正撞向牆吧,車速就會突然在極短時間內改變,不過這樣突然的改變對車內的人感覺一定不好受,對你的視覺感覺也一樣不好受吧。

了解了我們身處的世界的物理特性後,我就會在之後幾課談談如何把這些感覺,配以programming技巧,帶進你的Flash RIA中。下堂再續啊。

>> Lesson 2: 介紹 Tweener

  • Facebook
  • Twitter
  • del.icio.us
  • Digg
  • Google Bookmarks
  • Yahoo! Buzz
  • Live
  • RSS