Flash片头加载loading的方法

  做一个优秀的loading是衡量一个flasher水准、甚至态度的,因为loading是唯一一个你不会多看而所有用户、客户会看的东西,所以你对loading的重视程度,甚至可以反衬你这个flasher的职业道德。

  我认识不少做设计为主的朋友,很多都是自己找一个现成的loading,然后每次去套用。我个人认为这是很不好的习惯。并不是说我不提倡代码、元件的重用,而是我觉得对于loading这种东西,套多了是要出问题的。我强烈建议那些已经达到可以修改人家loading水平的flasher看看我的东西。

  这个讨论共分为三部分:

  1、基础

  2、MovieClipLoader相关讨论(较深入)

  3、V2组件相关问题

  今天我们主要介绍Flash的loading制作的基础。

  首先要感激Macromedia的大智慧,提供了很好的两个函数使我们可以做出完美的loading,那就是getBytesLoaded和getBytesTotal。请不要再用你改来改去改了两三年的那个什么getFrameLoaded什么什么了,我都记不清楚怎么拼了。我只想说,Frame的观念将在真正的Interactive-Design中淡化。更别提什么Scene,那是Flash的败笔!

  那么loading如何工作呢?我们如何利用这两个函数呢?这里要提到一个重要的概念。就是间隔调用。间隔调用有多种方式,下面列举出来,并列举出其在loading制作中的地位和用法,欢迎补充: ·setInterval方式

  写法:

  function loadCheck()

  {

  var p = getBytesLoaded()/getBytesTotal();

  if (p==1)

  {

  clearInterval(intervalID); // 释放间隔调用

  gotoAndPlay(someFrame); // 开始播放

  }

  }

  var interval = 30; // 这个数值是刷新频率

  var intervalID = setInterval(loadCheck,interval);

  我个人并不推荐初学者用这种写法。因为很多人容易忽视clearInterval,而这个东西被忽视掉,是很恐怖的!如果你的setInterval没有给及时移除,意味着你将在整个swf的播放过程中增加一个没有必要的负担!

  而且这种方法很不适合控制MoiveClip的状况(因为初学者会发现MC的路径是个大问题,而loadCheck本身就是个函数,还是被setInterval调用的,要在loadCheck中指一个路径出来,挺麻烦的,你不要指望_root,那样会让你的程序不规范;也不要指望this,因为在函数中用this似乎不太理想;最好什么都不写,但往往你不敢不写),进而做出更好的效果。

  ·onEnterFrame方式

  我最喜欢的就是这种方法了。比较方便、直观。因为往往我们是要用一个MC体现一个loading的进度,比如,一个进度条,或者更有创意的东西,只有你不能想到的,没有你不能做到的。

  那么究竟如何用呢。首先,把创意定好。然后给你的MC一个实例名字,比如叫做loader_mc。这时候在timeline上写代码,记住,是timeline而不是MC上。因为这样便于代码统一、便于路径统一、便于管理和寻找。别为了省几个字母就把代码通通搬到button,mc上面去,然后一个on(press)了事。除非你是在敷衍你的作品;或者你是在为了交作业。

  loader_mc.onEnterFrame = function ()

  {

  var getTar:MovieClip = this._parent;

  var p = getTar.getBytesLoaded()/getTar.getBytesTotal();

  trace(p);

  if(p==1)

  {

  this.onEnterFrame = null;

  gotoAndPlay(someFrame); // 开始播放

  }

  }

  就这么简单,记住,在MC的事件函数体内部引用MC,永远是一件很快的事情。因为this就可以指向这个MC本身,通过诸如this._parent之类的方法,可以找到你所有的MC!

  ·直接依赖于timeline的循环方式

  这是非常非常非常古老的方式,就不多介绍了。

  以上算是比较简单的。还有两个比较容易出问题的loading技术,就是MovieClipLoader、含有多种V2组件的Loader。

时间: 2024-10-25 16:55:06

Flash片头加载loading的方法的相关文章

Flash片头加载loading的制作方法

核心提示:Flash片头加载loading的制作方法教程. 做一个优秀的loading是衡量一个flasher水准.甚至态度的,因为loading是唯一一个你不会多看而所有用户.客户会看的东西,所以你对loading的重视程度,甚至可以反衬你这个flasher的职业道德. 我认识不少做设计为主的朋友,很多都是自己找一个现成的loading,然后每次去套用.我个人认为这是很不好的习惯.并不是说我不提倡代码.元件的重用,而是我觉得对于loading这种东西,套多了是要出问题的.我强烈建议那些已经达到

Flash 片头加载loading的制作方法

  做一个优秀的loading是衡量一个flasher水准.甚至态度的,因为loading是唯一一个你不会多看而所有用户.客户会看的东西,所以你对loading的重视程度,甚至可以反衬你这个flasher的职业道德. 我认识不少做设计为主的朋友,很多都是自己找一个现成的loading,然后每次去套用.我个人认为这是很不好的习惯.并不是说我不提倡代码.元件的重用,而是我觉得对于loading这种东西,套多了是要出问题的.我强烈建议那些已经达到可以修改人家loading水平的flasher看看我的东

Flash制作片头加载loading的方法

做一个优秀的loading是衡量一个flasher水准.甚至态度的,因为loading是唯一一个你不会多看而所有用户.客户会看的东西,所以你对loading的重视程度,甚至可以反衬你这个flasher的职业道德. 我认识不少做设计为主的朋友,很多都是自己找一个现成的loading,然后每次去套用.我个人认为这是很不好的习惯.并不是说我不提倡代码.元件的重用,而是我觉得对于loading这种东西,套多了是要出问题的.我强烈建议那些已经达到可以修改人家loading水平的flasher看看我的东西.

IOS中UIWebView加载Loading的实现方法

  最近有朋友问我类似微信语音播放的喇叭动画和界面图片加载loading界面是怎样实现的,是不是就是一个gif图片呢!我的回答当然是否定了,当然不排除也有人用gif图片啊! 第一种方法:使用UIView and UIActivityIndicatorView 代码如下: //创建UIWebView WebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 44, 320, 400)]; [WebView setUserInteraction

jquery显示loading图片直到网页加载完成的方法

  本文实例讲述了jquery显示loading图片直到网页加载完成的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <!DOCTYPE html> <html class="no-js"> <head> <meta charset='UTF-8'> <title>Simpl

jquery显示loading图片直到网页加载完成的方法_jquery

本文实例讲述了jquery显示loading图片直到网页加载完成的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html class="no-js"> <head> <meta charset='UTF-8'> <title>Simple Loader</title> <style> /* This only works with JavaScript, if it'

flash as3.0加载swf失败解决方法

flash as3.0加载swf代码怎么写?如已有1.swf,用2.fla加载,在2.fla里的代码怎么写 补充:2.fla里已有一段,加载1.swf是想放完2.fla前一段后接着放2.swf的.所以代码是要写到2.fla本身的最后一帧的吧   var my_urlloader:loader=new loader(); my_urlloader.load(new urlrequest("swf.swf")); my_urlloader.contentloaderinfo.addeven

js简单判断flash是否加载完成的方法_javascript技巧

本文实例讲述了js简单判断flash是否加载完成的方法.分享给大家供大家参考,具体如下: <script type="text/javascript"> //判定是否加载成功 function checkLoaded(flash){ try{ return Math.floor(flash.PercentLoaded()) == 100 }catch(e){ return false; } } var flash = 'flash对象'; var intervalID =

jQuery实现页面滚动时动态加载内容的方法

 这篇文章主要介绍了jQuery实现页面滚动时动态加载内容的方法,实例分析了jQuery实现动态加载页面的技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了jQuery实现页面滚动时动态加载内容的方法.分享给大家供大家参考.具体分析如下: 很多网站,比如twitter,京东商城首页,会在页面滚动到一定的位置时才动态加载页面内容,这样可以加快页面打开的速度,也可以节约带宽,下面的JS代码就可以帮你做到. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15