Flash Lite开发人员入门教程 |
|
发起人:Davidism 回复数:0 浏览数:1586 最后更新:2006/9/19 12:23:38 by Davidism |
选择查看 | 搜索更多相关主题 帖子排序: |
Davidism 发表于 2006/9/19 12:23:38
|
Flash Lite开发人员入门教程 本文是这几天使用Flash Lite的心得,适合有Flash开发经验的开发人员浏览,如果你只是想在手机里使用Flash动画,请跳过本文,而且还要告诉你,现阶段Flash Lite还很不成熟,很可能达不到你的要求。 电脑端软件需求 1、Flash MX 2004 Professional2、FlashLite 1.1 Content Development Kits Flash MX 2004不用多说,既然做过Flash开发,电脑里必然有这个东西。 CDK的安装有点麻烦,最便捷的方法是把Flash的版本升级到7.2,7.2的升级包可以到Macromedia的网站上免费下载,下载地址:http://download.macromedia.com/pub/flash/updates/mx2004/update_fmx2004_7.2_cn.exe。 手机端软件需求 1、FlashLite Player 1.1这个软件有Symbian和Smartphone两个版本,我们的大S当然选择Symbian版本的了。说句题外话,我看过Smartphone播放Flash的效果,比Symbian好了太多,这一点上,Symbian输给了MS。如果你还没有这个软件,不要急,往下看。 你可以把你的手机型号和IMEI发邮件到mobiledeveloper@macromedia.com,就可以收到FlashLite Player。不过最近Macromeida好象不再提供FlashLite Player给Developer测试了,不过肯定还会开放,时间我也不知道,你可以发个邮件实验一下,记住,要写E文啊,中文估计他们看不懂。 如果这一招不灵,你还一定想要,可以去Macromedia的网上商店购买,价格是USD10。 新建Flash文档 通常,我们可以从模版开始制作,Flash MX 2004虽然内建了一些移动设备的模版,不过不包括大S,你可以去http://www.flash-lite.de/downloads.html下载大S的模版。 当然,你也可以从新建常规Flash文档开始,然后做下面的一些设置: 1、把大小设置为176×208,大S的屏幕虽然有176×220,但是上面12个像素的信号和电量不能覆盖。 2、把帧频设置为20fps,当然你可以设置为别的,不过这个是常规的设置。 3、把发布版本设置为Flash Lite 1.1,这个是必须的,否则发布的文件手机无法打开,你也可以在发布时再做设置,但先设置的好处是Flash Lite 1.1不支持的功能在程序中会灰体显示,免的做无用功。 动作 Flash Lite 1.1只保证能够使用Flash 4的Action,官方说是因为手机的运算速度不够快,我看未必,因为他们还在继续开发新版本,如果他们在随后的版本中支持了更多的Action,岂不是打自己的耳光? 升级后的Flash里多了一堆Flash Lite 1.1的Action,你可以自己逐个实验,常用的有这么几个: fscommand2( "GetDeviceID" , "id" ); - 取得移动设备的ID,在大S中返回“Siemens SX1”。fscommand2( "FullScreen" , boolean ); - 是否全屏播放。 fscommand2( "GetDateYear" ); - 得到系统年份,类似的还有月、日、时、分、秒。 fscommand2( "SetSoftkeys" , left , right ); - 驱动软键,这个在后面会详细说明。 fscommand2( "Quit" ); - 退出程序。 Flash Lite 1.1支持的所有Action指令和属性,可以参考CDK里面的Macromedia Flash Lite 1.1 Authoring Guidelines。 输入接口和事件处理 手机上没有键盘鼠标,所以在电脑上可以互交的方法不能在手机上使用,大S只支持数字键0-9、*、#、四个方向键、确定键和左右软键。 方向键分别表示为Left、Right、Up、Down,确定键表示为Enter,左右软键默认不能驱动,如果要使用,必须在主时间轴加上 fscommand2( "SetSoftkeys", left, right ),其中左软键为pageUp,右软键为pageDown。 在按钮的事件处理时,你可以使用“on (keyPress "x")”方法,例如你要在按下5键时启动照相机,你可以写: on (keyPress "5"){ getURL("file:///Z:/System/Apps/Camera/Camera.app"); } 如果在一个帧上有其它的按钮,而且你希望使用方向键进行遍历,就必须在事件处理程序中加上release,上一个例子就要写成: on(release, keyPress "5"){ getURL("file:///Z:/System/Apps/Camera/Camera.app"); } 其它要注意的事项 有了上面的知识,你可以尝试开发一个Flash Lite版的Flash了,不过在开发过程中,注意以下几点,这些都是我走过的弯路,希望你不要再走一遍。 1、路径问题 Flash 5以后我们就不在用/和tellTarget了,但是Flash Lite 1.1不支持点语法,所以你必须拾起被抛弃许久的/和tellTarget。 例如在场景里有一个影片剪辑A,A中有一个影片剪辑B,如果你要在主时间轴上指定B的时间轴,我们使用“_root.A.B”,现在不行了,你要使用“/A/B”。同样,你要在B的时间轴上指定主时间轴,也不能用“_parent._parent”,而要用“../../”。 接上面的例子,在A中有一个变量AA,B中有一个变量BB,如果你要给BB变量赋值为5,不能用“_root.A.B.BB = 5",而要写成: tellTarget ( "/A/B/" ){ BB=5; } 2、循环问题 不用担心,虽然Flash Lite 1.1够弱智,但是你还是可以使用for和while,只有一点,Flash Lite 1.1不认识var,所以不要这样写: for ( var i = 0; i < 10; i++){ 语句; } 3、数组问题 很遗憾,Flash Lite 1.1不支持数组,没办法,多用点if和for吧,Flash MX 2004里还没有指针呢,我们不也模拟出来了?小小数组模拟起来自然不成问题。 4、图片问题 Flash Lite 1.1支持的最大图片大概是50K,这个数据我不确定,反正当我使用的图片超过50K后报错:“Problem with content: 6”,错误6意思是说图片太大了,还有其它的一些错误,一并写下来: 1:Out of memory2:Stack limit reached 3:Corrupt SWF data 4:ActionScript stuck 5:Infinite AS loop 6:Bad JPEG data 7:Bad sound data 8:Cannot find host 9:ActionScript error 10:URL too long 如果你非要做一个功能多多的Flash,图形大小是一大障碍,尽量让图形简单一点,少用一些补间,少用一些透明度,少用一些向量图。 5、字体问题 手机里没有电脑里的上百种字体,所以少在字体上打主意,打散字体也不是一个好方法,你会发现手机里的显示根本不是那么回事儿,一定要用的话,转化成PNG图吧,这个它想变的乱七八糟也不可能了。对于动态文本,建议使用“_sans”,并把“使用设备字体”选上。 基本就这么多了,毕竟几天的时间不可能有太多的研究,而且这些也是熬了三个晚上弄出来的,整天睡眠不足,快被MM骂死了。 我写的一个Flash Lite版的大S专用主题:http://bbs.dbsjw.com/dispbbs.asp?boardID=39&ID=115115&page=1 |
返回页首↑ |