Entries in the ‘Flash’ Category:

常見的Flash programming惡習

前言﹕

還記得Stanley初初接觸Flash的版本,應該仍是Flash 4的時候了,由玩timeline,只懂寫”gotoAndPlay”,”stop”等簡單的script做小遊戲,至到現在用as3.0做複雜的RIA,真是差不多十個年頭了。在Flash的發展上,編程的方法一直也支援在timeline上加script,到了as2.0的年代,更開始支援利用external的actionscript (.as file)。毫無疑問,這個編程模式對designer及programmer都照顧得到,相信這是能讓Flash普及的原因。

可是,這一個模式卻很多時做成Flash programming沒有了一個標準。更失望的是,很多雜誌及教人actionscript的書籍,一直都只是教人如何做到結果,卻很少教導程式結構及使用物件導向概念,以至很多Flash programmer做出來的Flash程式的質素十分惡劣。如果編程的人沒有心思,要接手他的爛攤子可真心痛呢…因此Stanley特別寫了這個題目,以我多年的Flash programming經驗告訴大家如何才可做到高質素的Flash application!

[觀看整編文章]

IsometricGL – 我的isometric view graphics library

於上年的時候,為了可以增強自己actionscript的功力,我決定自己學寫API。剛巧自己對3D graphics等東西很有興趣,於是就決定做一個2.5D 的 graphics library。

甚麼是Isometric View?

相信大家應該有玩過Simicty、Theme Hopsital這些經典遊戲吧? 它們的視點就是用了isometric view做的了。在以前CPU及display card都不夠的時候,唯有可以做的,就是利用2D扮3D了,因此Isometric View也叫2.5D。

Isometric view 的特點,如下:

  • 任何距離的物件大小一樣
  • 比較常用的isometric view是2:1的,即向右走兩格,向上就升一格,與水平線形成 26.565°(arctan 0.5) 的夾角

關於我的IsometricGL

IsometricGL 是一個render engine,主要做的是幫你在2.5D的世界上畫東西(類似papervision3D吧,它是3D,我的則是2.5D)。有了IsometricGL, 你只要寫幾行code,就可以創作你的2.5D世界,不懂複雜的數學也可以做到呢!!

先看看以下的demo再介紹吧,以下是用我的IsometricGL弄出來的迷你office:

[觀看整編文章]

為Designer而設的Flash CS4?

當Stanley在2008年年頭才開始用Flash CS3,Adobe又密鑼緊鼓地準備而十月中發報CS4,速度真是快的驚人,教人如何追得到…

CS4追加了不少新功能,主要都是圍繞它的IDE而添加的,對於designer來說絕對是莫大的喜訊。在CS4中,designer可以在timeline的控制上有更大的自由度,例如3D transform、easing fine tuning、逆向運動等等,他們可以不用依賴programmer也可以做到有趣的效果。

可是以programmer的角度來看來,卻是有些失望。因為新功能全是以timeline為中心,在actionscript的層面上卻看不出有很大的分別,甚至可以坦白說跟CS3是沒有分別的。不過幸好的是,Flash player10 會使用hardware acceleration,相信玩papervision3d、away3d等engine時應該可以更加流暢。Browser 平台3D game的普及,都應該是指日可待的事了。

[觀看整編文章]

如何以平面偽裝3D空間?

想信如果有研究開Flash的朋友,都應該聽說過papervision3d或away3d這一類的Flash 3D Engine。可是,要學習這些3D Engine的API,絕不是短時間可以學會的事。有時候,可能你想做的效果,並不是十分複雜,要用到papervision3d 又好像有些勞師動眾…

當Stanley還在玩Flash MX 2004 的時候,跟本還未有這些3D Engine存在。可是,Stanley卻有一些方法,利用簡單的數學”騙”用戶的眼睛,巧妙地利用平面偽裝3D空間呢!

[觀看整編文章]

Tweener 有無用武之地的時候?

Tweener 雖然幫我們很方便地做到漂亮的效果,但是在某些情況下,Tweener卻無用武之地了。主要原因就是電腦的計算效能是有上限,如果很頻密地或是一次過使用大量Tweener,Flash 就會不勝負荷而出現「跳格」的情況了。本來想要流暢的效果,到頭來卻有反效果呢…

[觀看整編文章]