flash 片头加载loading的制造办法

更新时间:15-10-24 14:21 热度:384
 

做一个优秀的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; // 这个数字是按f5频率
  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 = 门里出身;
  gotoandplay(someframe); // 着手播放
  }
  
   }
  就这样简单,记取,在mc的事情函数体内里援用mc,永恒是一件很快的事物。由于this就可以指向这个mc本身,经过诸如this._parent什么的的办法,可以找到你全部的mc!
  ·直接倚赖于timeline的循圆环式
  这是十分十分十分古老的形式,就无几绍介了。
  以上总算比较简单的。还有两个比较容易出问题的loading技术,就是moviecliploader、包括多种v2组件的loader。下一节我们继续绍介。