×
Namespaces

Variants
Actions

内容制作的优化技巧 FlashLite1.1

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
Amyhuang 在 23 Mar 2007 创建
最后由 hamishwillee 在 15 Dec 2011 编辑

Contents

影片属性

  • 请以176*208(宽*高)为基准场景大小。
  • 建议同时制作4种格式:176*208,240*320,208*208,352*416,其中176*208为必须制作的基本场景格式,其它格式建议同时制作,便于在屏幕分辨率适配时使用,提高用户体验度。
  • 通常帧速应设置到16 fps。
  • 文件尺寸应控制在150KB以内。
  • 默认情况下手机中请保持影片维持在中画质。
  • 应在影片的第一帧加入fscommand2(“FullScreen”),使影片全屏播放。
  • 应在主场景的四周加上黑框,防止由于分辨率变化导致场景外的元素显示在可视区域。

图形使用

  • 应以简单颜色的简单矢量图形为主。手机屏幕通常无法显示过于细微的细节,比如图标。当使用矢量图形绘制时,应尽量去掉一些不必要的细节,或考虑使用位图表现。
  • 在绘制图形边缘时直角的边缘要比圆角的边缘更容易计算。
  • 尽量用线绘制代替只有外边框的图形填充,因为图形填充需要同时绘制边框和内部区域。
  • 应避免使用 Bitmap Trace 将位图转换成为矢量图形(通常情况下会生成结构很复杂的矢量图形)。
  • 需要表现复杂图形时可配以少量的位图,但应减少全屏位图的数量(占满176*208)。另外应避免在Flash中将大位图直接缩小使用,因为实际的图像大小并没有减小。
  • 在内存允许的情况下位图应优先考虑png格式,Jpeg格式的图片需要运行时解压,增加了CPU负担。
  • 如果位图输出为png格式,应尽量减少透明区域,播放器需要对透明区域进行额外的计算。
  • 如果位图输出为Jpeg格式,请确保使用Flash本身的Jpeg压缩选项来压缩图像,而不要保留原始图像的数据。
  • 播放器不支持平滑位图,所以应尽量防止旋转。如果需要旋转应考虑矢量图形。
  • 应尽量减少渐变填充的使用,如果必须要使用,应考虑使用渲染起来较快的线性填充。
  • 矢量图形对于手机的负担主要体现在CPU的消耗上,位图则主要体现在内存的消耗上。当程序运行过慢的时候应考虑把关键矢量图形(复杂的、或者经常参与动画的)位图化;当程序出现内存不足的情况,则应检查是否是位图使用过多或者位图还保留有原始图像的数据。
  • 应尽量避免将图形原件的_alpha值设为0或者将其_visible值设为 false来隐藏场景中的对象,上述操作并不会阻止播放器进行对应的渲染计算。如果要隐藏原件,应考虑将其移出场景或通过unloadMovie语句来彻底卸载。
  • 将相邻的矢量图形或者相邻的位图放在相邻的层上。一方面Flash在编译生成SWF文件的时候会尝试将多个矢量图形合并成一个图形组减少最终矢量图形的数量;另一方面播放器在运行时不会频繁的切换矢量与位图的渲染模式。

动画的使用

  • 动画过程应当尽量简单,避免复杂动画的出现。当动画进行时播放器会计算出每帧变化所需要渲染的最小区域,减少整屏的大幅度动画可以降低渲染负担。
  • 谨慎使用Alpha渐变。渲染Alpha效果非常耗CPU。如果需要应控制在6帧内完成整个渐变效果。
  • 应减少静态文本的动画效果,静态文本本质上是一些复杂的矢量图形,过多的动画会增加播放器的负担。

文本的使用

  • 运行在S60 2nd的程序文本的大小请保持在 12px。运行在 S60 3rd 的程序文本大小请保持在13px。
  • 像Nokia 6131这种S40的手机不支持动态中文显示,只能使用静态文字。
  • 减少嵌入字体的使用,尽可能使用设备字体。
  • 文本框在场景中的防止位置请保持在整数坐标上,以防文字发虚。
  • 有些手机(如Nokia3250)会出现文字剃头现象,需要将文本换行从第二行开始输入。

声音的使用

  • 事件声音在某些手机上会使整个影片短时间暂停。流声音会拖慢整个影片的播放速度。尽量控制声音的使用,比如整个影片中只有一个循环的背景音效。
  • 只有选择了ADPCM格式输出,声音才可以无缝的循环播放。
  • 应给用户提供关闭声音的选项。

脚本的使用

  • 应使用Flash4版本的Actionscript来制作影片。
  • 可以使用Flash5中Math类的大部分功能。但应谨慎使用,数学函数和浮点运算会降低程序运行的性能。一些必需的计算应尝试在第一次使用时缓存结果,以避免频繁计算。
  • 避免使用_width和_height属性(手机中无效)。
  • 应尝试将一些需要相对长时间计算的操作步骤分到不同的帧上操作。在同一帧上进行过多的操作,会推迟播放器的渲染操作,使程序看上去像死掉一样。
  • 当使用gotoAndPlay进行跳帧时,当前帧和指定要跳转帧之间的帧都在指定跳转帧显示之前进行初始化。所以如果当前帧和指定要跳转帧之间有很多不同的内容,应尝试将其分别放到不同的影片剪辑中。
This page was last modified on 15 December 2011, at 13:47.
67 page views in the last 30 days.
×