您可以在支援 Flash Player 10.1 的行動裝置執行 ActionScript 3.0 程式碼範例。不過,一般您可以執行程式碼範例,便能得知特定類別和方法的運作方式。在這種情況下,在桌上型電腦之類的非行動裝置執行範例。在桌上型電腦上,您可以在 Flash Professional 或 Flash Builder 使用 trace 陳述式以及其他除錯工具,增加您對於程式碼範例的瞭解。
若您想在行動裝置上執行範例,可以將檔案複製到裝置或網站伺服器。若要將檔案複製到裝置,然後在瀏覽器中執行範例,請執行以下步驟:
若要將檔案複製到網站伺服器,然後在裝置的瀏覽器中執行範例,請執行以下步驟:
-
建立 SWF 檔案以及 HTML 檔案。首先,按照
在 Flash Professional 執行 ActionScript 3.0 範例
或
在 Flash Builder 執行 ActionScript 3.0 範例
中的指示執行。 在 Flash Professional 中,選取「控制 > 測試影片」,只建立 SWF 檔案。若要建立這兩個檔案,請先在「發佈設定」對話方塊的「格式」索引標籤中選取「Flash」和「HTML」。然後,選取「檔案 > 發佈」,建立 HTML 和 SWF 檔案二者。在 Flash Builder 中,當您執行、除錯或建立自己的 Flash Builder 專案時,就可以同時建立 SWF 檔案和 HTML 檔案。
-
將 SWF 檔案和 HTML 檔案複製到網站伺服器的目錄。
-
在行動裝置的瀏覽器位址列,輸入 HTML 檔案的 HTTP 網址。例如,輸入
http://www.myWebServer/examples/myExample.html
。
在行動裝置上執行範例之前,請考慮以下每一個問題。
舞台大小
在行動裝置上執行範例時,您使用的舞台大小會比您使用非行動裝置時要小一些。很多範例不需要特殊的「舞台」大小。建立 SWF 檔案時,請指定裝置適合的「舞台」大小。例如,指定 176 x 208 個像素。
在《ActionScript 3.0 開發人員指南》中,實際範例的用途是說明不同的 ActionScript 3.0 概念和類別。他們的使用者介面設計就是要在桌上型電腦或筆記型電腦上看來美觀又好用。雖然,這些範例可以在行動裝置上執行,不過「舞台」大小和使用者介面設計並不適合很小的螢幕。Adobe 建議您在電腦上執行實際的範例,對 ActionScript 有了相當的瞭解之後,再到行動應用程式中使用特定的程式碼片段。
以文字欄位取代 trace 陳述式
在行動裝置上執行範例時,您不會看到範例中的 trace 陳述式輸出。若要瞭解輸出,請建立 TextField 類別的實體。然後。將 trace 陳述式的文字附加至文字欄位的
text
屬性。
您可以使用以下的函數,設定一個文字欄位,以便用於追蹤:
function createTracingTextField(x:Number, y:Number,
width:Number, height:Number):TextField {
var tracingTF:TextField = new TextField();
tracingTF.x = x;
tracingTF.y = y;
tracingTF.width = width;
tracingTF.height = height;
// A border lets you more easily see the area the text field covers.
tracingTF.border = true;
// Left justifying means that the right side of the text field is automatically
// resized if a line of text is wider than the width of the text field.
// The bottom is also automatically resized if the number of lines of text
// exceed the length of the text field.
tracingTF.autoSize = TextFieldAutoSize.LEFT;
// Use a text size that works well on the device.
var myFormat:TextFormat = new TextFormat();
myFormat.size = 18;
tracingTF.defaultTextFormat = myFormat;
addChild(tracingTF);
return tracingTF;
}
例如,將此函數新增至文件類別,作為一個私有的函數。然後,在文件的其他方法中,使用類似下列的程式碼來追蹤資料:
var traceField:TextField = createTracingTextField(10, 10, 150, 150);
// Use the newline character "\n" to force the text to the next line.
traceField.appendText("data to trace\n");
traceField.appendText("more data to trace\n");
// Use the following line to clear the text field.
traceField.appendText("");
appendText()
方法只接受一個值當作是參數。這個值是字串 (字串實體或字串常值)。若要列印非字串變數的值,請先將該值轉換為 String。最簡單的轉換方式就是呼叫物件的
toString()
方法:
var albumYear:int = 1999;
traceField.appendText("albumYear = ");
traceField.appendText(albumYear.toString());
文字大小
很多範例使用文字欄位,協助說明概念。有時候,調整文字欄位中的文字大小,可以讓使用者更容易看清楚行動裝置的資料。例如,如果範例使用
myTextField
這個文字欄位實體,請使用以下程式碼變更其文字大小:
// Use a text size that works well on the device.
var myFormat:TextFormat = new TextFormat();
myFormat.size = 18;
myTextField.defaultTextFormat = myFormat
擷取使用者輸入
行動作業系統和瀏覽器會捕捉 SWF 內容不會接收的部分使用者輸入事件。特定行為會視作業系統和瀏覽器而定,但是當您在行動裝置執行範例時,可能會造成無法預期的行為。如需詳細資訊,請參閱
KeyboardEvent 優先順序
。
而且,很多範例的使用者介面則是針對桌上型電腦和筆記型電腦而設計。例如,《ActionScript 3.0 開發人員指南》中,大部分的實際範例非常適合在桌上型電腦檢視。因此,在行動裝置螢幕上,有時候看不到完整的舞台。瀏覽器內容的平移能力視瀏覽器而定。再者,這些範例的左右移動是針對捕捉以及處理捲動或左右平移事件而設計。因此,部分範例的使用者介面並不適會在較小的螢幕執行。Adobe 建議您在電腦上執行這些範例,對 ActionScript 有了相當的瞭解之後,再到行動應用程式中使用特定的程式碼片段。
如需詳細資訊,請參閱
左右移動和捲動顯示物件
。
處理焦點
部分範例需要您提供焦點給欄位。 提供焦點給欄位後,您就可以輸入文字或選取按鈕。若要提供欄位焦點,請使用行動裝置的指標裝置,例如觸控筆或您的手指。或者,使用行動裝置的導覽鍵,提供欄位焦點。 若要選取焦點所在的按鈕,請使用行動裝置的「選取」鍵,就像是使用電腦上的 Enter 一樣。在部分裝置上,輕點按鈕兩下就可以選取它。
如需有關焦點的詳細資訊,請參閱
管理焦點
。
處理滑鼠事件
很多範例會偵聽滑鼠事件。在電腦上,例如當使用者使用滑鼠在顯示物件上滾動,或者在顯示物件上按一下滑鼠按鍵後,就會發生這些滑鼠事件。在行動裝置上,觸控筆或手指之類的指標裝置所產生的事件,稱為觸控事件。Flash Player 10.1 會將觸控事件對應至滑鼠事件。這種對應關係可以確保先開發 SWF 內容,再繼續 Flash Player 10.1 的工作。因此,使用指標裝置來選取或拖曳顯示物件時,這些範例仍有效。
效能
行動裝置的處理能力比桌上型裝置差。部分消耗大量 CPU 的範例在行動裝置上的執行速度很慢。例如,
繪製 API 範例:演算法視覺產生器
在進入每一個影格時,會進行大量計算和繪圖。 在電腦上執行此範例會說明各種的繪圖 API。不過,由於效能有限,所以此範例不適合部分的行動裝置。
如需行動裝置效能的詳細資訊,請參閱
最佳化 Flash 平台的效能
。
最佳作法
為行動裝置開發應用程式時,範例並不會將最佳作法納入考量。行動裝置的記憶體與處理能力有限,這一點要特別注意。同樣地,小型螢幕的使用者介面與桌上型電腦顯示器各有不同的需求。如需開發行動裝置應用程式的詳細資訊,請參閱
最佳化 Flash 平台的效能
。