作者:luar
原文链接:http://www.luar.com.hk/flashbook/archives/001228.php
要開發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做法很不同,所以比較少人涉獵?我會在下一篇詳細再講
分享到:
相关推荐
自 2003 年发布以来,Flash Lite 已经逐渐成为移动内容开发的重要工具之一。 **实现方式**:Flash Lite 1.1 采用了精简的 Flash Player 引擎,能够支持基本的动画和简单的交互功能。与标准的 Flash 相比,它减少了...
它引导读者逐步了解Flash Lite开发环境的设置,如何创建第一个项目,以及基本的绘图和动画操作。书中还会介绍如何使用时间轴和帧,以及如何导入和使用外部资源,如图像和声音。 4. 《Flash Lite 学习ActionScript ...
总的来说,Oracle Lite Developer是一个强大的工具,它使得开发者能够在有限的资源条件下构建功能丰富的移动和嵌入式应用,同时保持与企业级数据库的兼容性和数据一致性。通过熟练掌握Oracle Lite Developer,开发者...
在移动设备上,Flash Lite 3 是 Adobe Systems 为非桌面环境开发的一个轻量级版本,主要用于智能手机和其他移动设备上的 Flash 内容显示。这款软件让手机用户能够浏览包含 Flash 技术的网页内容,例如互动广告、小...
在移动设备上开发应用程序时,BREW(Binary Runtime Environment for Wireless)是一个常见的平台,而Adobe Flash Lite则为在这些平台上创建交互式、富媒体内容提供了可能。本话题将深入探讨如何开发适用于BREW平台...
Flash Lite 1.x ActionScript 语言参考, Flash Lite 入门 , flashlite_2.x_3.x_deploying.pdf, FlashLite应用程序开发手册, 学习 Flash Lite 1.x ActionScript。
用JLink下载程序的小工具,比较方便,需要JLink版本4.85以上
示例代码展示了如何创建一个简单的任务,并设置其优先级和栈大小: ```c #include "los_task.h" VOID task_entry(VOID) { while (1) { PRINT("Task is running...\n"); LosTaskDelay(10); // 延迟10毫秒 } } ...
在物联网领域,华为 LiteOS 作为一个轻量级的操作系统,已经成为开发者的重要工具。本指南旨在提供全面、深入的华为 LiteOS 开发知识,结合华为的编程规范,帮助开发者提升效率,构建安全、稳定的物联网应用。 一、...
LiteIDE是一款专为Go语言设计的开源集成开发环境(IDE),它由Charles Xie开发,致力于提供一个简洁、高效且功能丰富的开发环境。在Go语言的开发者社区中, LiteIDE因其用户友好性和对Go语言特性的良好支持而受到...
这个压缩包“LiteIDE开发工具 x38.3.zip”包含了LiteIDE的第38.3版本,这是一个稳定且功能丰富的版本,适合开发者用于编写、调试和管理Go语言项目。 1. **源码源代码**:LiteIDE是用Go语言编写的,因此其源代码是...
本教程为 Xilinx ZYNQ-7000 SoC 的 Z7-Lite 系列开发教程,主要介绍 Linux 系统的安装和配置。该教程分为多个章节,涵盖了虚拟机的安装和配置、Ubuntu 系统的安装和配置等内容。 第 1 章 虚拟机和 Ubuntu 系统安装 ...