Luar's Flash Playground:怎樣成為一個Flash Lite Developer(開發篇)
新聞(100)
觀點或評論(93)
Flash書(63)
教程(65)
Design Patterns(3)
FlashCom筆記(45)
Flash Remoting筆記(27)
Flex筆記(11)
Flash Lite筆記(14)
PHP資訊(22)
Ajax筆記(9)
習作(46)
組件(15)
酷站(31)
學習資源(28)
書籍推介(15)
本站與我(90)
RSS瀏覽器
聯絡
熱愛鑽研
Ajax
ActionScript
Flash
Flash Lite
Flex
Flash Remoting
FlashCom
Director
Lingo
PHP
Multiplayer Game

搜尋
VCASMO
怎樣成為一個Flash Lite Developer(開發篇) (19-08-2005)

要開發Flash Lite內容,大部分人頭痛是那Flash 4語法,對於資深Flash開發者來說,Flash 4不難寫,程式設計美麗的地方,就是同一個需要,有很有多不同寫法,窮則變,變則通。相反,在手機上跑的東西,效能和記憶體佔用才是最大困難所在,往往就是要開發者用智能去克服效能的問題。所以,Flash 4語法是門外的人看以為的問題,克服效能才是平日Flash Lite開發者奮鬥的目標。

好了,廢話說完。Flash Lite ActionScript是怎樣?就是Flash 4 ActionScript、編譯器幫助下一些Flash 5指令、手機屬性和FSCommand2。

Flash 4 ActionScript

包含以下東西:

  • 影片(play, gotoAndStop, loadMovie等)
  • 變數定義set("varName", varValue)
  • while和if
  • Movie Clip控制getProperty和setProperty
  • 一些String簡單操作(length,substring)等
  • 路徑語法(tellTarget, /, ../, :)
  • loadMovie, loadVariable
注意:不支援startDrag, stopDrag, _dropTarget, soundBufTime, _url和String()轉換。

Flash 5 Object

在Compiler幫助下,有一些Flash 5指令可以用,它們在編譯時,轉為Flash 4語法,包括:

  • 更多邏輯判斷(for, do while, switch)
  • _root, _parent
  • MovieClip.屬性=n,留意關於Movie Clip語法,只限在讀取和修改屬性上,如果要控制MovieClip播放或跳幀,仍然要用tellTarget
  • 變數定義可以直接用varName = varValue

手機屬性和FSCommand2

這些都是一些取得手機資料,和控制手機(例如震動、發SMS等)的指令,如果平常用Flash Lite開發遊戲,比較常用的有:

  • 震動:fscommand2( "StartVibrate", time_on, time_off, repeat),fscommand2("StopVibrate");(有些手機不支援震動,例如:Nokia 7610, N-Gage)
  • 全熒幕:fscommand2("FullScreen", true);(只有Standalone Flash Lite Player支援,例如Nokia手機;在Browser裡執行的不支援,例如Sony Ericsson手機)
  • 功能鍵名字設定:fscommand2("SetSoftKeys", "Start Game", "Quit");(即熒幕左右下角出現的字眼,在非全熒幕時才看到)

由Flash 4 Port到Flash Lite

開始編程Flash Lite時,往往由以前的Flash 4東西開始,例如將以前的東西改為Flash Lite版,在這些轉移過程中,要注意的地方:

  • 手機沒有滑鼠,所以所有靠Click操作的東西,要想辦法改為鍵盤
  • Flash Lite自動支援方向鍵去由一個按鈕跳去另一個按鈕,同時將該按鈕顯示在Over狀態,十分方便。開發遊戲時常用,例如主畫面有「開始遊戲」、「載入遊戲」、「離開」,用方向鍵就可以上下控制。注意一:有些手機不支援Four Way Navigation with wraparound,即「離開」按「下」不可以直接跳到「開始遊戲」,在Flash Pro 8的Flash Lite Emulator會提示那手機是否支援。注意二:通常在主畫面,想預設「開始遊戲」在Over狀態,但如果只靠Flash Lite的按鈕自動用方向鍵控制,是沒法做到,加上正因為注意一,想做一個可以wraparound的選單,我還是用Movie Clip和自行捕捉方向鍵來做主畫面的選單
  • 影片大小,通常先考慮Symbian 60大小,即全熒幕有176x208
  • 一般手機效能只有8-10fps,遇到有alpha漸變時,會再慢一點
  • 文字一定要用Pixel Font才能夠清晰,文字x, y位置一定要是整數
  • SWF檔案大小目標在100Kb內
  • Flash Pro 8的Flash Lite Emulator基本上可以模擬手機大部分操作,除了關於手機屬性和FSCommand2控制手機硬體,特別注意Emulator不能模擬效能,所以它比手機跑得更順和不知道耗用記憶體的問題,所以測試效能和記憶體消耗,一定要回到手機測試
  • 在Frame 1加_focusrect = 0,可以消除控鈕焦點時的黃色邊框
  • 沒有Delete可以用來刪除變數,只好將它改為var=""
  • String連結要用add,不可以用+
  • 使用Bitmap圖,先在Photoshop進行優化壓縮,例如減少顏色至8/16/64色可以大大減少File Size,避免出現Problem with content: 6錯誤(Bad JPEG data,JPEG圖檔太大)
  • fscommand2("SetSoftKeys")可以因為遊戲或應用不同狀態,在該處Frame使用,即可以不停改變功能鍵名字
  • 有些手機不能支援連續按鍵(即按下不釋放),例如:SonyEricssion Z800i
  • 方向鍵、Enter、PageUp、PageDown基本上是常用,我會做好一個Flash Template,Stage外有7個透明按鈕(只定義了Hit Frame),加入了on (keyPress "...") {...}
  • 我發現很多Flash Lite範例都沒有聲音,這方面跟平常Flash做法很不同,所以比較少人涉獵?我會在下一篇詳細再講

本文章由luar發表。
意見
  • luar难道打算也写一本Flash lite的书?向老大拜谟ing...

    Apol於19-08-2005發表

  • No

    luar於19-08-2005發表

  • 写的很好!
    不过我还是要等Flash Lite 2.0.
    提供一些资源地址:
    Flash Lite 1.1 Content Development Kits(CDK)
    http://www.macromedia.com/devnet/devices/ development_kits.html
    模板下载:
    http://www.flash-lite.de/downloads.html

    由亮点於19-08-2005發表

  • 1?早上写的一些回复不翼而飞了,可能是粗心按了预览吧。

    Luar的这篇应该说主要是针对S60上的Flash Lite 1.1吧,对于现在日本广泛采用Flash Lite1.0和DoCoMo的手机而言,情况有所不同,例如:

    1。不支援4方向导航按键(被browser屏蔽掉了)

    2。许多设备具有滑鼠功能,因此可以进行Click

    3。使用手机的设备字体(非像素)可以得到清晰的效果

    4。大部分手机不支持按键重复

    由jinni於19-08-2005發表

  • 我为中国移动做的Flashlite在3G上的测试,目前的Series60 2nd这个系统的Nokia手机,可以通过swf去load 512k的content,速度理想。但是3G的第一次用户鉴权,load 1k的时间要远比load 100k的时间长。

    7yue於19-08-2005發表

同組文章

Movable Type 3.15系統支持,Luar's Production版權所有。