十一月
  ★ 博客搜索|Search
Sword's Blog
  首页 |
FlashLite 1.1 Authoring Guide中文翻译
作者:Sword's Blog 发表时间:2005-8-6
熱心的Ticore在MMUG上幫大家把FlashLite 1.1 Authoring Guide的一些重點翻成中文了,有需要可以看一下。



FlashLite 1.1 Authoring Guidelines部分翻譯


畫面


像素字型

Flash 2004 MX 支援像素字型,當使用像素文字選項時,Flash Lite 1.1 for
mobile phones 支援靜態、輸入、動態文字欄位。

標準字型如Arial或是 Verdana 並不容易閱讀,因為Flash Player除了在低品質
模式外,會全部一起處理抗鋸齒。在這種情況下, 應該要使用像素字型,它在畫
面上不會表現出抗鋸齒的效果。

像素字型可以用在任何形式的螢幕展現,無視於螢幕解析度。字型的大小需要以
8 points 為單位增加( 8、16、24 等等) 以保持乾淨與清楚(來自原廠英文說
明)。使用一個 8 points 字型取得字型在螢幕上的最大範圍而又能保持清楚。

使用像素字型時:

* 將文字放在絕對 x、y 值( 10.0而不是10.2 )。

* 假如你建立輸入或是動態文字欄位,確定你有嵌入字型,否則,你的Flash
內容會以預設的系統字型呈現。

* 要使你的文字突出,使用不同的字型組合,粗體與標準樣式,以及對比色。


Bitmap graphic

Macromedia 建議在匯入圖片之前最佳化為 16 Bit,這樣作可以降低 Flash
Lite movie 的大小也可以給你較多的控制最後輸出。使用超過需求的點陣圖會造
成較高的執行記憶體需求。


Bitmap graphic vs. Vector graphic

Flash Lite 一般使用向量方式去定義內容,當計算複雜的圖形與動畫的時候可能
會造成手機 CPU 的負擔。同一個舞台上操作越多的向量圖,就需要越強的
CPU,在桌上型 PC 也是一樣。

在手機上開發時,有時候使用點陣圖取代向量圖比較好,因為它需要較少的 CPU
去跑動畫。

使用點陣圖做出來的檔案會比向量的大,注意 CPU 效能與檔案大小之間的平衡。
因為手機的螢幕小、傳輸速度慢、記憶體小、CPU效能差,你需要更多額外的測
試與計畫。






Sound


聲音格式

Flash Lite 1.1 支援 MIDI,MFi,uncompressed PCM (or WAV) ,
compressed ADPCM,與 compressed MP3 聲音格式。

Event Sound


事件聲音與時間軸獨立撥放,任何事件都可以用來觸發一個事件聲音。事件聲音
必須要完全下載完畢才可以撥放。


Streaming Sound

串流聲音直到前面幾格影格被下載有足夠的資料才開始撥放;在手機串流聲音會
與時間軸同步撥放。Flash Lite 1.1 支援 uncompressed PCM (or WAV) ,
compressed ADPCM,compressed MP3 聲音格式用於串流聲音。



Embedding Sound

因為 Flash 2004 並不支援某些音樂格式,如 MIDI、SAMF,你一定要使用可
以被辨識的聲音格式如 MP3 ,當作是暫時的代理聲音,使用 Library >
Properties > Export settings > Device sound 連結代理聲音到一個 MIDI
檔案或是一個聲音檔案包等等。


Compound Sound

Flash Lite 1.1 提供包裝多種格式的聲音檔的能力,多個裝置專一性的聲音檔案
可以包裝成一個標籤化的資料區塊,可以讓開發者建立單一個內容,但是卻可以
相容於多種裝置。例如,一個 Flash Movie 可以同時包含兩種格式 MIDI 與 MFi
的相同聲音,可以在只有支援 MIDI 與只有支援 MFi 的裝置上撥放。

在內容建立的時候,開發者可以確認想要綁在一起的檔案格式,一個外部的工具
FlashLite Sound Bundler 可以將確認過的聲音綁成一個資料區塊,被事件觸
發而撥放。當適當的事件被觸發,Flash Lite 1.1 執行聲音資料區塊並且撥放裝
置支援的聲音格式。FlashLite Sound Bundler 建立的聲音檔案包附檔名是 .fls。


裝置專用聲音以及聲音檔案包注意事項:

* 只能用在事件聲音。

* 同步功能以及聲音編輯選項不能用在外部連結聲音檔。

* 一份文件中,每個聲音都要指定一個外部聲音檔案。

* 所有的外部檔案,在編譯期一定要存在,撥放的時候則不需要。




ActionScript

ActionScript and porperties



* 使用 add 運算子取代 & 命令來接合字串。

/:x = "13";
/:y = /:x add "dd";

* Button 的滑鼠事件如 dragOver、dragOut、releaseOutside 貼在
Button 上,都不能用於觸發 ActionScript code。然而,除了 keypress 事
件,你可使用 press、release、rollOver、rollOut 事件,貼附於按鈕上,並
藉由用 kay-based 瀏覽觸發 ActionScript。

* 可以拖曳的 MovieClip 函式與屬性,如 startDrag、stopDrag 與 _dropTarget 屬性不被支援。

* 使用 eq 運算子比較字串,使用 == 運算子比較數值資料。

* URL encoding 必須要使用 ActionScript 手工方式去作, escape()
ActionScript 函式不屬於 Flash 4 也不能在 Flash Lite 1.1 使用。

* 加入兩個新的 FSCommand2 可以將字串編碼成用於網路傳輸的格式:
Escape、Unescape。

* Flash Lite 預設的撥放品質等級是 Medium,而且它並沒有支援點陣圖的
柔化。

* Flash Lite 1.1 支援 loacMovie()、loadMovieNum()、loadVariables()
、loadVariableNum(),在每個影格中或是每個事件處理中,只能有一個
loacMovie、loadVariables。某些手機限制這些 actions 只能用按鈕事件觸
發,即使在這情況,每次事件只能有一個 action 被處理。

* 在每個影格中或是每個事件處理中,只能有一個 getURL() action。某些手
機限制這些 actions 只能用按鈕事件觸發,即使在這情況,每次事件只能有一個
action 被處理。

on (release, keyPress "#"){
getURL(“tel:117”);
}

* 一個按鈕動作可以被指定連結到一個 E-Mail 組合視窗,位址、標題、內文
都已經填好。有兩種方式可以做到這:方法一可以用於 Shift-JIS 或是 English
字元編碼,然而方法二只能支援 English 編碼:

方法一:

設定每個想要的參數,例如:

on (release, keyPress "#") {
subject = "email subject";
body = "email body";
getURL("mailto:somebody@anywhere.com", "", "GET");
}

方法二:

用getURL定義參數

on (release, keyPress "#"){
getURL("mailto:somebody@anywhere.com?
cc=cc@anywhere.com&bcc=bcc@anywhere.
com&subject=I am the email subject
&body=I am the email body");
}

PS: getURL啟動E-Mail軟體,在PC上要用網頁瀏覽器才有效果。

方法一會產生自動URL encoding效果,而方法二會保留字串中的空白字元,方法一的結果如下:

email+subject
email+body



方法二的結果:

email subject
email body



* 按鈕可以貼附上去的按鈕事件只有 0-9, #, * 以及 Enter 鍵。

* ActionScript 聲音功能限制為只有 Event sound 可用,在按鈕按下的程
式區塊中只有第一個聲音事件會被撥放,同區塊中後續的聲音都會被忽略。

* 有效整數範圍 -2,147,483,648 ~ 2,147,483,647。

* 天生不支援 Math function, 在 Flash Lite Math 物件的方法與屬性是近
似值模擬出來的,可能會不如 Flash 5 及其後續版本非模擬的 Math function
正確。

* 不支援 _url 屬性。

* 不支援 Number()、String() function。

* Flash 4 ActionScript 不支援陣列,但是可以用 eval() 模擬陣列。



Network Access

Flash Lite 1.1 specification 支援每個影格或是每個處理事件執行一次
getURL(), getURL() 可以與下列按鍵發生關聯 0-9, #, *, 或是選擇鍵。只有
按鈕按下程式區塊的第一個 getURL 會被執行,同一區塊內後續的 getURL 都會
被忽略。

getURL() 可以用來讀取另外一個 SWF 檔案或是 HTML page (http),一個
安全的 (SSL - Secure Socket Layer) HTML page (https),送出 E-Mail
(mailto),或是撥一個電話號碼 (tel)。

使用 Flash Lite 1.1,可以使用 loacMovie()、loadMovieNum()、
loadVariables()、loadVariableNum() 自網頁伺服器上讀取資料與 SWF 檔
案,使用這些函式,你可以更新手機之外的 Flash 內容,這些程式每個影格或是
每個事件只能執行一次。


ActionScript Enhanced for Flash Lite 1.1

Flash Lite 1.1 支援兩種新的 ActionScript function : FSCommand()、FSCommand2()

FSCommand()

Flash Lite 1.1 支援 FSCommand(),讓 Flash Lite 的內容可以與 Flash
Player、主機應用程式、裝置主機溝通。



FSCommand2()

FSCommand2() 是 Flash Lite 1.1 新支援的命令,但是不被標準桌上型 Flash Player 支援。FSCommand2() 與 FSCommand() 提供相似的功能,但是有以下的差異:

* FSCommand2() 可以接受任意數量的參數。
* 在撥放的時候 FSCommand2() 會立即被執行,而 FSCommand() 直到影格的結尾才被執行。
* FSCommand2() 會回傳一個值,可以用來報告成成功、失敗或是結果。


FSCommand() 與 FSCommand2() 功能

一般命令

* URL 編碼
* 文字欄位限制輸入

Flash 撥放控制

* 全螢幕
* 撥放品質
* 按鍵設定

撥放操作命令

* 記憶體
* 執行程式
* 跳出程式

平台整合命令

* 日期與時間
* 音量
* 震動
* 電力
* 網路資料
* 使用者裝置設定
* 裝置與使用者確認



Optimizing Animation

* 降低 Flash 撥放品質,預設的品質是 Medium。因為改變品質對於 Flash
的視覺效果有很大的改變,請確認從頭到尾測試過 SWF 檔案。

* 你也可以用 ActionScript 控制算圖品質,可以用 _quality 或是新的
FSCommand2 setQuality() 函式。

* 降低同時間發生的 tween 效果。

* 少用 Alpha 效果。

* 避免強烈的視覺效果,包含巨大的遮罩,大量的移動,alpha blending,
大量的漸層,與複雜的向量。

* 嘗試結合 tween,關鍵影格動畫,與 ActionScript 驅動的移動來產生最有
效率的結果。

* 假如可能的話,在你的目標手機上經常測試。




Optimizing ActionScript

* 保持 ActionScript 儘量簡單。

* 限制迴圈的數量以及迴圈的內容。

* 當不需要影格迴圈時,停止影格迴圈。

* 避免字串以及模擬陣列 - 可能會極度消耗CPU。






Development checklist

* Flash 內容可以正常執行嗎

* Flash 內容是否直覺、容易互動

* Flash 讀取資料與 SWF 檔案是否有問題

* 你能夠最佳化圖片或是改寫程式以降低檔案大小與記憶體的需求而增進效能嗎

* 所有的點陣圖都能夠正常的在手機上解碼與算圖嗎
[所属栏目:flash相关] | [返回首页]
共 1 篇日志 | 每页 1 篇 

≡≡≡≡≡ 评论(共 {Count}条) 我要评论
·{CommentAuthor} {CommentEmail} {CommentUrl} {CommentIp} {CommentTime}
{CommentContent}
  站长执笔
5DBlog主页