设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

Flash MX制作preload动画时遇到的一个问题

来源:136z.Com 作者:佚名 时间:2005-10-26 11:07:54

    许多朋友都喜欢在较大的Flash

网页或动画前加个preload(预载)的动画,让别人知道Flash下载的进度并且让下载的过程不会太沉闷。我在制作一个Flash preload动画的过程中,发现了一个动画进度显示的问题,跟大家分享一下,以避免类似情况的发生。

     1.首先,我们先制作一个preload动画,如果你熟悉这个过程,可以直接进入第4步。Preload动画的制作方法很多,以下只是其中一种。建立2个图层,命名为action和txt,一个用来放ActionScript,一个用来放显示进度的文字。如图:

     2.在txt图层输入动态文字并命名为p_txt,记得要多留一定的空位,否则无法完全显示。具体设置如图:

     3.根据下图所示代码在action图层的第一帧和第二帧输入ActionScript。现在Preload动画已经做好了,这个动画很简单,只有下载百分比进度的显示。在这步完成后我想说的是,preload动画只是点缀,不需要加入太多的东西,以免preload动画下载得太慢,这样preload动画就没有意义了。

     4.新建一个Scene,按Ctrl+R导入一张较大的位图图片。图片太小的话,下载进度快我们就没有办法看清要发生的问题。如果你不希望播放的时候会闪烁,可以加个stop在位图那一帧里。

     5.按Ctrl+Enter开始测试动画,在Debug菜单下可以选择你需要的下载速率。在View菜单下你确认选择了Bandwidth Profiler,这样我们可以看清楚文件每帧的大小。然后选择Show Streaming,模拟真实下载时的效果。见下图:

     6.从Bandwidth Profiler可以看到,动画一共有3帧。1、2帧都很小,第3帧由于有我们导入的位图,显得较大(见下图)。

  在测试preload动画的时候一切正常,动画从0%开始一直到100,然后进入Scene2的位图帧。这是因为这里的preload动画非常小,连整体大小的1%都不到。如果preload动画较大,那么将根据它的相对与整个Flash的大小而出现百分比。简单的说,占文件整体大小10%的preload动画将在文件下载到10%的时候才会出现preload动画和下载进度百分比(一出来就是10%,而不是从0%开始)。这也是为什么preload动画要尽量小的原因。

    7.在第6步讲述的观点并不是这篇文章的主要内容,请大家接着做下去。把位图转换成Movie Clip,按F11打开Library浮动面版,在该Movie Clip上按右键,选择Linkage,选中Export for ActionScript。见下图:

    8.熟悉ActionScript的朋友会知道,这样做其实是为ActionScript做准备,多用于一些ActionScript的特效或者游戏,相应的Movie Clip就不用出现在场景里了。这样做之后,我们再按Ctrl+Enter测试动画。见下图:

  看到区别了吧?整个Flash的大小几乎都集中到第1帧里了!在这个例子里,如果你选择View下面的Show Streaming可以发现preload动画到100%的时候才出现,这样也就完全失去了preload的意义。我是在做一个Flash网站的时候发现这个问题的,当时我的preload动画到70%才显示。根据我的分析,Flash为了方便ActionScript对链接Movie Clip的调用,在开头部分就把所有链接的Movie Clip下载完了。所以大家要尽量避免过多的Movie Clip链接。


  下面我简单的介绍三种解决的办法:移出屏幕法,将需要的Movie Clip移到屏幕外(Flash里白色区域之外)。loadMovie法,在一些网站里使用loadMovie语句载入动画。不可见Movie Clip法,用首帧为空或_visible属性为false的Movie Clip代替。


Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: