国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Flash > 正文

Flash制作一個優秀的片頭加載loading教程

2020-07-17 13:05:49
字體:
來源:轉載
供稿:網友
做一個優秀的loading是衡量一個flasher水準、甚至態度的,因為loading是唯一一個你不會多看而所有用戶、客戶會看的東西,所以你對loading的重視程度,甚至可以反襯你這個flasher的職業道德。

  我認識不少做設計為主的朋友,很多都是自己找一個現成的loading,然后每次去套用。我個人認為這是很不好的習慣。并不是說我不提倡代碼、元件的重用,而是我覺得對于loading這種東西,套多了是要出問題的。我強烈建議那些已經達到可以修改人家loading水平的flasher看看我的東西。

  轉載請保留原文地址:http://www.awflasher.com/blog/?id=444

  這個討論共分為三部分:

  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。下一節我們接著介紹
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泸溪县| 张家港市| 威远县| 镇宁| 古浪县| 资兴市| 平邑县| 鹤岗市| 岑巩县| 呼图壁县| 大港区| 太湖县| 剑川县| 行唐县| 思茅市| 武宣县| 汝南县| 凯里市| 天等县| 彭水| 晋宁县| 宝山区| 西乡县| 宜章县| 疏勒县| 庆云县| 韶关市| 丽江市| 龙州县| 略阳县| 凤凰县| 潢川县| 北碚区| 宜良县| 新干县| 镇平县| 石景山区| 宽城| 莆田市| 桂林市| 丘北县|