Luar's Flash Playground:回應hoyin關於Designer與Developer間合作
回應hoyin關於Designer與Developer間合作 (26-01-2005)

看到hoyin的電郵,討論關於Designer與Developer間合作的問題,其實這是我一直關心的課題,因此特別在此分享一下自己的看法(其實我遺失了他的電郵,沒法回覆他,抱歉)。

先恕我自誇,沒有人比我更了解Designer與Developer(可以再分為Flash Developer和Web Programmer)思想分別,因為我可以同時做這三角色,也沒有人比我更了解不同Flash專案有不同工作分工和流程,因為我做過了任何Flash可能專案:Flash動/靜態網站、電影宣傳網站、動畫、遊戲、兒童教育、企業網上培訓、光碟製作、線上視訊會議、RIA和手機等。

我在MAX2004的第2個演講中,其實講了一些這方面的問題,怎樣分工,設計還是程式先行?有興趣可以下載來看看。

我認為做任何Flash專案:網站、教材(Courseware)或網絡應用(Web Application)等,一定是設計先行,由Designer先完成界面設計,並先在Flash IDE中製作好:包括有什麼動畫、Intro、Motion等都要先做好,然後交由Developer加入程式,最後又回到Designer手中微調。

至於最後Export權在誰?就視乎Flash專案的性質而定,偏向創意為主的東西,例如網站,應該由Designer作最後Export,我在演講中也交待過,客戶通常只對視覺上東西有反應,需要Designer再三修改;另一方面,Mac機有較多漂亮字體。

至於偏向技術的東西,例如應用,因為有很多Classpath設置、開發循環最後階段,在功能上修改、測試和除錯等問題,所以應該交由Developer作最後Export。Designer角色變成在Photoshop上工作,界面真正建立可能是由Developer負責,Designer也應該避免用Mac機獨有字體,工作變成在Illustrator中畫好界面上需要的元件圖像和Icon等。因為現今設計潮流,Mac OSX風格那類漸變Gradient、光亮、水晶的界面設計仍然十分流行,因此Designer不要只顧在Photoshop中畫好就算,應該幫忙勾回Vector Format,除非打算大量Import PNG作界面。

團隊合作中沒有一種東西比溝通重要,工作前,彼此必須先了解對方需要。例如Designer想要某特效(Effect),必須先詢問Developer是否有能力寫到,Developer也必須指出這樣特效對整體效能會否有影響。當Designer先開始在Flash IDE中製作時,可以跟Developer討論怎樣安頓圖像,那些做Graphic?那些做Movie Clip?圖像應該用一個Movie Clip分成不同Frame,還是每個獨立一個。比較簡單原則,不要用ActionScript控制的東西,做Graphic;如果要獨立於Timeline外不停循環播放或要用ActionScript控制的東西,做Movie Clip。有些Designer喜歡凡事都做Movie Clip,因為他們認為Movie Clip不受Main Movie Timeline控制,動畫活動上來較流暢;但因此對Developer編程上有影響,例如路徑問題和For Loop的MovieClip Instance包括大量無關垃圾,既要分開出來,也會影響效率。

比較少Motion要做,例如教材,Designer會提供Illustrator檔案,由Developer先開始製作,他最清楚那些要做Graphic還是Movie Clip。Designer製作Illustrator時,一定要分Layer,同時不要用白色圖像蓋在不要的東西上,現在不是做印刷,到了Flash後要改用Mask。

Designer做的FLA檔案,一定是零亂不堪,Layer和Symbol沒有命名,Library中東西沒有分類,混濁分散(反而在Photoshop中,有些Designer會對Layer作Folder分類)。幸好Flash MX 2004有Command幫助,叫Organize Library,自動排好Library中東西。我也寫了一個Command叫prepareFLA,工作前自動建立Layer和Library Folder,希望Designer將東西分類放好。

我在兩本書中都講過關於怎樣建立Symbol的最佳工作範例(Best Practice),簡單地說,任何東西都是Symbol,無論是Bitmap或字,只用一次都要做Graphic。對於例如按鈕上字詞,Designer不要一大段打了就算,應該逐一拆開,分別做Graphic,這些細節上已經可以幫輕Developer。

Developer編程時,要抱一個原則,可以不用Script就不要用Script,有些特效配合Timeline做到,就不要用Script寫,既可以提高效率,也可以給Designer微調。這方面的心得,我在MAX2004的第2個演講中講了不少,也提供了一些範例。

編程時,盡量將參數放出來,容易修改,也可以告訴Designer怎樣修改作微調;程式要寫得富彈性(Extensible),不要Hard Code,例如有10個東西,不要Hard Code 10,可以用一個Movie Clip,每個東西放在一個Frame裡,取MovieClip._totalframes,那麼Designer將來要增刪東西,程式也不用修改。

其實我在MAX2004的第2個演講中真的分享了不少實戰經驗,可惜聽到的人很少,以後我會將所有這課題的知識在第3本書中詳細講解。

本文章由發表。
意見
"; print "沒有意見。
 "; } ?>
  • 真是抱歉!
    因為課程安排衝堂,所以我沒沒去聽您的第二堂課程!
    看了這篇之後實在覺得可惜,這些 Designer & Developer 分工合作的觀點滿不錯的!
    謝謝您的經驗談囉!

    tanjun於26-01-2005發表

  • 十分多謝!
    我也剛看過"Flash重構 - 架構可擴充Flash作品" 的 ppt.
    多謝你的分享!!

    由hoyin於26-01-2005發表

  • 非常不错!经验之谈!

    allan於27-01-2005發表

  • 现在关于flash开发流程方面的资料太少了,这篇文章能揭开一角冰山。文中的很多tips也是值得好好琢磨的,太谢谢了!

    mckee於04-03-2005發表

同組文章