当前位置: 首页 > news >正文

使用Flash Lite 制作手机主题

原文地址:http://www.flashfuture.net/blog/myarticle/flashlitedesktop.htm

Flash Lite

Flash Lite Macromedia公司为了行动电话开发的 Flash Player。于20032月发布,Flash Lite 1.0支持 Flash 5的对象和Flash 4 ActionScript, 也能够播放MIDI音乐。 2004年初Flash Lite 升级到1.1版,加强了网络连接、数据交换能力,支持的声音格式包含MP3 PCMADPCM SMAF,使其更适合发展多媒体应用程序。

由于受到手机运算能力、内存、屏幕的限制,现有的Flash Lite player对于网络上流行的flash动画文件很多都不支持,但是Flash Lite的主要功能并不是要让我们可以浏览动画,而是是一个类似J2ME一样新的手机开发平台。

Flash Lite 在手机上情况

2003年日本NTT DoCoMo 公司推出的的505i是第一款支持Flash Lite的行动电 话。之后的每一支 i-mode 手机都内建了 Flash Lite 设定档,可以 浏览内嵌了Flash内容的 i-mode服务、以 Flash动画作为待机图案。目前已经有 超过 1000 家的公司提供了以 Flash 为基础的 i-mode 服务,内容包含游戏、交通 信息、气象、互动地图、动画铃声等等。

2004Macromedia公司推出了可以在Symbian或是MS Smartphone手机上可以使用的flash lite1.1播放器,同时,也和三星电子以及NOKIA达成了软件授权协议,以后这两家公司生产的手机将会内置flash lite播放器。现有的一些支持Flash Lite的手机

更多支持Flash Lite的手机大家可以通过这个网址查看:http://www.macromedia.com/mobile/supported_devices/

让我们使用flash lite来制作一个简单的手机应用程序

使用flash lite很大的一个好处就是相对JAVA来说入门简单,怎么简单呢?下边我们就通过一个例子来向大家说明,一个非专业人员也可以轻松的来开发一个基于手机的小应用程序。

大家都知道N-gageN-gage QD76503650S60手机都是不支持主题功能的,看着别人S70手机上那些酷酷的主题,是不是很郁闷?别急,有了flash lite,让我们为自己的N-gageN-gage QD加入令人心动的主题功能,而且要更玄。

这个主题的基本原理就是通过flash lite里的按钮,来调用手机里对应的程序。就像电脑里的快捷方式一样。那接下来我们进入正题吧!(本文需要您对flash 2004以及一些基本的图像处理软件具有一定的基础)

准备工作
开始制作FlashLite内容之前,要先准备好下面这些东西:
• Flash MX 2004 Professional
• FlashLite 1.1 CDK
或者 Macromedia Flash MX 2004 7.2更新

FlashLite 1.1 CDK可以在Macromedia 网站上免费下载。http://www.macromedia.com/devnet/devices/development_kits.html

Macromedia Flash MX 2004 7.2更新也可以在Macromedia 网站上免费下载。http://www.macromedia.com/cn/software/flash/special/7_2updater/

建议安装Macromedia Flash MX 2004 7.2更新,虽然容量大了一些,但是更新了很多内容,而且安装过程比较简单,这里就不介绍了。

详细说一下安装CDK所需要的步骤 (如果你已经安装过Flash 7.2 update就可以跳过这个步骤。)
1.
下载完后解开压缩档,把Flash_Lite_1.1_CDKFlash_Lite_authoring_updater目录下的FlashLite1_1.dll,拷贝到下面的位置。
• Windows:
C:\Program Files\Macromedia\Flash MX 2004\language\Configuration\Players
• Mac OS X:
Macintosh HD::Applications:Macromedia Flash MX 2004:Configuration:Players

2.拷贝FlashLite1_1.xml到下面的位置。
• Windows:
C:\Program Files\Macromedia\Flash MX 2004\language\Configuration\Players
• Mac OS X:
Macintosh HD::Applications:Macromedia Flash MX 2004:Configuration:Players

3.拷贝DeviceMsg.cfg到下面的位置。
• Windows 2000/ WindowsXP:
C:\Documents and Settings\user name\Local Settings\Application Data\Macromedia\ Flash MX 2004\language\Configuration\
• Windows 98(SE):
C:\Windows\Profiles\user name\Application Data\Macromedia\Flash MX 2004\language\Configuration\
• Macintosh:
Macintosh HD::Users:user name:Library:Application Support:Macromedia:Flash MX 2004:language:Configuration:

要在手机上测试,还需要以下这两样:
支援Flash Lite的手机一只,Symbian60及以上的都可以。包括6600n-gageQD7610等等。
• FlashLite Player1.1
FlashLite Player1.1
前一段时间是可以免费申请的,但是现在不可以了,只能在Macromedia的网络商店购买,价格是10美元。地址如下http://www.macromedia.com/cfusion/store/index.cfm?store=OLS-US#view=ols_prod&loc=en_us&store=OLS-US&categoryOID=1141004&distributionOID=103

1、 要做FlashLite文件,可以从模板建立Create from Template开始。Flash MX 2004在发布的时候,已经内建了一些手机的模板Template,不过种类有点少。有国外网友自己做了一些Symbian S60手机的Template,可以到http://www.flash-lite.de/downloads.html下载。
打开Flash,建立新文件fileànew,选择模板templates、选择移动设备mobile devices,然后随便选择nokia 3650 7650都可以。(和你的手机不一样没关系)

2、 删除最上边的一层,这层是用作模版御览用的,对我们的工作没有用处。

3、 选择Properties里的设置Setting按钮

4、 在发布选项内把版本Version选择为Flash lite 1.1(默认为Flash lite 1.0,其他无需改动

5、 在时间轴中建立3个层,actions层(用来放置程序)、按钮层(用来放置按钮)、背景层(用来放置主题的背景)。

6、 接下来我们准备一张漂亮的图片作为主题的背景,大小要求宽176像素、高208像素,正好和我们的手机屏幕分辨率一样,格式要求是JPG或是PNG的(图片可以用你LPGF的,也许会有意外惊喜呀),以上可以采用一些图像处理软件来完成,在这里我准备了一张红色的中国龙的图片。

7、 选择背景层的第一帧,然后选择文件fileà导入importà导入到场景import to stage
然后选择已经做好的那张图片,确定,正确的话应该会是这个样子。这就是放到手机上的样子

8、 下一步,我们开始制作上边的按钮,我们可以使用一些现成的图标,像是XP本身的一些图标,您也可以去网上找到一些更好看的图标,然后使用图像处理软件,将其制作为背景色透明的PNG格式文件(推荐使用Firework软件)。为了知道当前是选择了哪一个按钮,要再给每一个图标制作一个略有不同的图片,可以采用一下外发光或阴影滤镜都可以。下边是我们做好的三个按钮。上边是普通状态,下边是该按钮被选中的样子。

9、 接下来我们回到flash中,选择插入Insertànew symbal,然后选择按钮button,名字就叫“联系人”就好。

10、 在新建立的“联系人”按钮中的UP这一帧上,我们选择文件fileà导入importà导入到场景import to stage,然后选择我们刚才创建的联系人的普通图标,完成后应该是这个样子。

11、 然后选择Over这一帧,按“F7”键,这样可以在Over这一帧建立一个新的关键帧,然后重复上边的文件fileà导入importà导入到场景import to stage,选择我们刚才创建的联系人的被选中图标,这样当“联系人”这个按钮被选中是就会显示刚才制作的被选中图标。

12、 现在我们已经完成了一个按钮,回到主场景。选择左上方的Scene 1

13、 我们刚才制作的按钮哪里去了?不要着急,它已经在我们的库文件里了。打开库文件的工具栏Windowsàlibrary,看看是不是有一个按钮库文件叫联系人?

14、 先选中时间轴中的按钮那一层,然后在库文件中把它选中,拖到主场景中,位置你可以随便放置。

15、 好,我们的第一个按钮就已经都做好了,现在我们为它加上功能,写一段非常简单的程序。先选中这个按钮,然后打开动作actions面板。写上如下内容:
on (release) {
getURL("file:///Z:/System/Apps/Phonebook/Phonebook.app");
}
意思也就是当这个按钮被按下然后抬起的时候,执行手机上Z:/System/Apps/Phonebook/Phonebook.app这个程序,对Symbian手机比较了解得朋友可能已经看出来了,这就是手机上的联系人程序。

16、 按照上边的步骤,我们再添加两个按钮,分别是“电话”和“短消息”,程序代码分别是:
电话:on (release) {
getURL("file:///Z:/System/Apps/Phone/Phone.app");
}
短消息:on (release) {
getURL("file:///Z:/System/Apps/mce/mce.app");
}

17、 然后选择时间轴上的actions层,打开Actions面板,加入如下程序(//后为注释,可以不写):
fscommand2("FullScreen", true);//
当打开的时候自动全屏幕播放
fscommand2("SetQuality", "low");//
播放时细节设置为高级
_focusrect = false;//
不显示当前焦点框,不写的话当按钮被选中就会有一个黄色的框框,不好看。
stop();//
停止

18、 好,我们自己的第一个手机程序就要搞定了,先保存一下,然后同时按下”Ctrl”+”Enter”键,我们就可以看到主题运行的样子(此时使用Flash内建的Flash Lite模拟器来运行,有些情况下可能和在手机上运行有不同),然后选择文件fileà导出Exportà导出为动画Export Movie,找一个目录,起一个自己喜欢的名字。确认,然后弹出版本选择,因为我们前边已经作了选择,这里直接点确认OK就好了。

19、 接下来的事对于大家来说就简单了,和其他应用程序一样,把我们刚才制作的扩展名为swf的文件传到我们的手机上边,放在e:\Documents\flash目录下(flash lite安装后会自动建立)。然后运行flash lite player1.1,选择我们制作的文件,看,效果如何?你还可以加入更多的按钮和功能。

20、 Flash lite本身还有一些和手机的接口函数,利用这些函数可以得到手机的很多信息,包括当前电量、信号置、支持什么铃声等等,利用这些,就可以做出更多更好东西,笔者在这个主题的基础上制作了一个能显示手机电量、信号、以及时间的主题。在这里限于篇幅,就不做更多的介绍了,感兴趣的朋友可以自己查阅flash lite的相关文档,都在flash lite CDK中,也可以到我的网站上来一起讨论。

制作和测试Flash lite需要注意的一些问题

FlashLite模拟器和手机上播放同样档案的结果很可能不同,比如手机上的播放速度可能会较慢,或是图片出不来。所以最好边做边测,才不会白费功夫。有时候在手机上播放Flash的时候,会出现错误讯息例如:Problem with content: 6,这代表JPEG图档太大了。以下是错误讯息的意义。
1. Out of memory
(内存不够,是你的flash文件过大,现在flash lite对文件的大小限制是1M以下)
2. Stack limit reached
(堆栈超过限制)
3. Corrupt SWF data
(错误的swf数据)
4. ActionScript stuck
(代码错误)
5. Infinite AS loop
(代码有死循环)
6. Bad JPEG data
(错误的JPEG数据)
7. Bad sound data
(错误的Sound数据)
8. Cannot find host
(没有找到主机)
9. ActionScript error
(代码错误)
10. URL too long
(网址过长)

图形处理

毕竟手机的运算效能还不够强,尽量让图形简单一点,少用点渐层、半透明,必要时把向量图转为位图,才能确保播放的效果和你的预期相同。

Flash lite 的优势和前景

虽然现在来说Flash Lite功能相比J2ME还过于单薄。支持的手机还不是很多,但是它还是存在一些优势的:

开发人员数目庞大

全球有750000Flash开发人员,国内的“闪客”也绝对是为数不少

标准统一

Flash Lite Player,任何安装了Flash Lite Player的设备都可以播放Flash Lite文件而不需要加以编译修改。而J2ME的基础规范虽然比较统一,但是各手机厂家的兼容性又有不同,经常可以看到NOKIA可以用的程序在索爱上就用不了。

开发简单、周期短

会用Flash的人只要经过短期的学习甚至不需要学习就可以直接制作开发基于手机的各种Flash动画、应用软件等等。

支持矢量格式,在设计制作动画、用户界面方面拥有得天独厚的优势

大家都知道Flash是一种矢量格式,也就是可以和屏幕的分辨率无关,而Flash Lite也是矢量格式,同时还支持SVG(也是一种矢量格式),在现在各种移动设备屏幕大小不一、分辨率多种多样的情况下,他的这种优势非常明显。而且对于制作动画方面,Flash要比逐桢绘图的J2ME拥有更多的优势。

FlashCast

FlashCast 是推播 Flash Lite内容的服务平台。20047 T-Mobile在英国、德国和奥地利推出以FlashLite为基础的News Express服务。News Express服务每天推播两次新闻、娱乐、气象、运动信息等多媒体内容到用户的手机上。

总体说来,Flash LiteJ2ME两者都具备自身的优势和劣势,这种优势和劣势也导致了两者必将在不同的领域发挥作用。

下边是使用Flash Lite编写的一些手机应用程序,更多的Flash Lite应用大家可以通过这个网址来下载:
http://www.macromedia.com/cfusion/exchange/index.cfm#loc=en_us&view=sn310&viewName=Flash%20Lite%20Exchange

结语

由于Macromedia Flash是目前网络上最广泛使用的技术之一,进入门坎相对较低。开发效率也较其它技术快3 5倍。已经熟析Flash的开发人员,不需要学习对特定装置的技术,就能够把开发的内容部署在手机、PDA等不同的移动设备上。非常适合作为多媒体应用程序的行动平台。

Flash在手机方面的应用目前仍是处于刚起步的阶段,手机上Flash Lite的占有率远低于JavaFlash Lite的服务范围现在还仅限于日本、德国、英国、奥地利等地。但随着Macromedia和三星、NOKIA等手机厂商的签约,以及和一些内容服务商的合作或许在不久的将来,就能在中国看到Flash Lite 提供的各种服务。如果Flash Lite在手机上的的占有率能够提升到一定的比例、内建的 ActionScript 能够升级、功能与效能提升,Flash Lite应该能够成为一种新兴的手机应用平台。

相关信息

作者网站:www.flashfuture.net

MM公司手机网站:mobile.macromedia.com

相关文章:

  • react hooks 规则以及自定义hooks的实现
  • react hooks reducer
  • react hooks 额外的钩子函数
  • 《程序员》杂志06年2月文章:Flash Lite挑战J2ME
  • CSDN Blog升级公告
  • koa文件上传2
  • 怎样成为一个Flash Lite Developer (开发篇)
  • Chat room help file
  • 小程序 - 使用async出现regeneratorRuntime is not defined错误 不能使用async 和await 的解决方案
  • react willReceiveProps 是深度比较 浅层拷贝 (虽然值变过来了 但是)还是会render 一次 immutable1
  • 怎样成为一个Flash Lite Developer (工具篇)
  • immutable与可变数据 不可变数据
  • 辞职:也要像个君子般离开
  • redux connect 原理解析 传入的mapstate 和mapdispatch connect()第一次执行后返回一个函数 这个函数接收到的参数是一个组件 对组件进行加工返回
  • Flash Lite 与 J2ME 分析比较
  • [nginx文档翻译系列] 控制nginx
  • 【mysql】环境安装、服务启动、密码设置
  • 5、React组件事件详解
  • axios 和 cookie 的那些事
  • ES6语法详解(一)
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Javascripit类型转换比较那点事儿,双等号(==)
  • js操作时间(持续更新)
  • Mysql优化
  • nfs客户端进程变D,延伸linux的lock
  • passportjs 源码分析
  • php中curl和soap方式请求服务超时问题
  • Redis 懒删除(lazy free)简史
  • vue.js框架原理浅析
  • 第2章 网络文档
  • 十年未变!安全,谁之责?(下)
  • 数据科学 第 3 章 11 字符串处理
  • 我看到的前端
  • 一个JAVA程序员成长之路分享
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • zabbix3.2监控linux磁盘IO
  • 回归生活:清理微信公众号
  • ​马来语翻译中文去哪比较好?
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # Apache SeaTunnel 究竟是什么?
  • # include “ “ 和 # include < >两者的区别
  • #Ubuntu(修改root信息)
  • #微信小程序(布局、渲染层基础知识)
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (javascript)再说document.body.scrollTop的使用问题
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (分布式缓存)Redis分片集群
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (六)激光线扫描-三维重建
  • (篇九)MySQL常用内置函数
  • (十八)SpringBoot之发送QQ邮件
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置