Flashloading精确百分比下载

2008-04-02 10:31:42来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  大家知道一般的大作品都要加一个loading动画,以前的loading的判断条件都是靠桢数来判断的,这样做是不准确的,但是也没有其他的办法 。flash5出现后解决了这个问题,其实就是靠他里面的.getBytesLoaded()和.getBytesTotal()两个函数。下面周详讲解此loading的制作。

  1.场景的背景选黑色,建立一个Symbol Name取load属性Movie Clip在这个Symbol里面建立一个从1到100桢,大小由24*3到24*450的矩形的渐变,颜色就用红白渐变吧!然后新建一层画一个矩形线框框住刚才的矩形。在第100桢配置Action:Stop();然后新建一层并且使其位于矩形那层的上方,在矩形的中央建立一个文本框,配置Variable为loaded,中间对齐,拖动他在矩形中央。如下图:

  


  2.回到主场景,将刚才的矩形Symbol拖到场景中,设定他的Instance为bar.在场景中新建两个文本框大小都为50*150吧!配置Variable分别为speed和time.

  3.新建一层设定第一桢的Action为:

  byteloaded = _root.getBytesLoaded();

  bytetotal = _root.getBytesTotal();

  loaded = int(byteloaded /bytetotal * 100); t = getTimer ();

  // 下载速度和百分比

  speed = "下载速度:" int(byteloaded/t * 100)/100 " K/s";

  /bar:loaded = loaded "%";

  bar.gotoAndStop( loaded );

  // 时间相关

  timeloaded = int(t/1000);

  timeremain = int(timeloaded * (bytetotal- byteloaded) / byteloaded);

  timeremain = int(timeremain / 60) "\" int(timeremain % 60) "\"";

  timeloaded = int(timeloaded / 60) "\" int(timeloaded % 60) "\"";

  time = "已用时间:" timeloaded "\r" "估计剩余时间:" timeremain;

  4.第9桢建立关键桢配置Action为:

  if (byteloaded == bytetotal) {

  gotoAndPlay ("ok");

  }

  else { gotoAndPlay ("loop");

  }

  5.第10桢建立关键桢配置Label为:ok.此处就是我们要load的东西,能够是个场景的开头。在此为了看到load的效果,我放了一个很大的图片

  6.配置第1桢Label为:loop.

  7.在放置矩形的一层的第10桢建立一桢。

  8.好了就这样就能够了。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 简单的Flash鼠标跟随制作教程

下一篇: FLASH将变身VCD出售