麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Flash > 正文

完美的loading的實現方法

2024-09-12 17:50:47
字體:
來源:轉載
供稿:網友
讀取外埠數據參與Flash應用程序部署是一件非常重要和常見的工作,尤其是我們常常需要檢測這些數據加載的進度。而MovieClipLoader(下稱 MCL)類卻幫我們大大簡化了這項麻煩工作。此外,它使得我們能獲取更多的需要,并減少代碼量。我們可以用一個單獨的MovieClip類來載入一個,或者多個外埠資源到指定的MC或者層級,或者我們可以為每一個加載工作制定不同的MCL實例。
我決定分兩部分來完成這篇教程。首先,我們將介紹MCL的基本用法;然后我們將介紹如何使用一個單獨的MCL實例來讀取外埠資源到不同的MC,并且,我們將加入偵聽器對象來參與工作。當然,不通過偵聽器也可以完成任務,我們暫時不介紹偵聽器,因為這樣你會更加容易理解MCL。
那么,我們首先來大體了解一下MCL有哪些回調函數,后面也會有詳細介紹(aw附:回調函數我個人理解就是某一個類組、參數事先確定,擁有指定功效的方法)這里可以了解一下什么叫做回調函數):
MovieClipLoader對象的回調函數:
事件回調函數(嚴格要求數據類型的時候,它們并不是方法,后祥):
* MovieClipLoader.onLoadStart() - 當加載開始的時候觸發
* MovieClipLoader.onLoadProgress() - 在讀取進行中觸發
* MovieClipLoader.onLoadInit() - 讀取資源載入后的第一幀執行完成后觸發
* MovieClipLoader.onLoadComplete() - 當讀取的外埠資源已經完全下載到本地時觸發。
* MovieClipLoader.onLoadError() - 當加載外埠資源出錯時觸發。
* MovieClipLoader.unloadClip() - 將加載的外埠資源移除或終止一個加載工作。
方法回調函數:
* MovieClipLoader.getProgress(target:Object):Object - 讀取外埠資源的進展,參數為MC對象(aw附:其實MC這種數據類型也就是一種對象)。返回一個對象,該對象包含兩種事先預定好的屬性(后祥)
要想好好理解這些回調函數,我們動手試驗一下是最好的方法。當然MCL是Flash7之后才有的,所以別忘了發布的時候發布成為7+的版本號。如果直接用 FlashPlayer來調試可能會遇到一些問題,我們推薦在瀏覽器中進行調試(個人意見:對于外埠資源難以獲得情況,比如教育網獲取公網資源,最好不要在IDE中調試)
在我們的例子中,我們將用一個MCL對象來讀取不同的圖片,并將它們置入不同的空MC中。本例中要用到的swf文件和圖像源文件將在Actionscript.org找到(個人建議:其實看完這篇文章要不要源文件沒有必要了)
==========
1、建立一個新的Flash文檔,并在第1幀輸入以下腳本:
_root.traceBox.vScrollPolicy ="on";
function myTrace(msg)
{
_root.traceBox.text += msg + newline;
_root.traceBox.vPosition = _root.traceBox.maxVPosition;
}
我們這里是在建立一種跟蹤調試機制,調試的(變量)將輸出到文本框組件中。這里的方法"myTrace"是預先定義好的一個函數,它幫助我們順利完成對某些信息的監控;其中第二句的作用是使文本框隨時輸出最新監控值。
2、現在從組建庫托拽一個TextArea組件進入場景,并給以合適的大小,以及一個實例名稱traceBox(對應上面的腳本)
3、接下來,我們要建立一個新的MC元件。并在場景上部署3個實例,為它們分別命名為myMC1,myMC2,myMC3。我們將把圖片或者swf影片裝載進入它們,并且,在它們下載到本地后按照需求調整它們的尺寸。其實,對圖片人為地改變尺寸會造成許多不好的后果,比如鋸齒的產生,但是為了讓大家了解 onLoadInit事件的使用,我們將會這么做。
4、然后,我們建立一個MCL對象,在第一幀輸入以下腳本:
var myMCL = new MovieClipLoader();//create an instance of MovieClipLoader
aw附:這里我想羅索以下,關于Object的翻譯。因為上述代碼的注釋中,老外用的是instance這個詞,直譯的話,Object是“對象”;Instance代表“實例”。前者更注重于其數據類型,而后者則更注重于其客觀存在性。
5. 現在我們就可以部署腳本了,在第一幀:
myMCL.onLoadStart = function (targetMC)
{
var loadProgress = myMCL.getProgress(targetMC);
myTrace ("The movieclip " + targetMC + " has started loading");
myTrace("Bytes loaded at start=" + loadProgress.bytesLoaded);
myTrace("Total bytes loaded at start=" + loadProgress.bytesTotal);
}
這個函數的第一行中申明了一個(對象類型的)變量,顯然,這個變量的值由myMCL對象的getProgress方法獲得.剛才已經介紹了 getProgress方法,這里可以看到,返回的loadProgress.bytesLoaded就是loadProgress對象的 bytesLoaded屬性.
這里我在 主站蜘蛛池模板: 中国洗澡偷拍在线播放 | 成人午夜一区二区 | 黄色av免费网站 | 久久亚洲春色中文字幕久久 | 午夜视频在线观看免费视频 | 久久精品欧美电影 | 91网站链接| 国产成人在线播放视频 | xnxx 日本19| 成人视屏在线观看 | 国产 视频 一区二区 | 久久久久久久91 | 91精品国产乱码久久久久久久久 | 免费三级大片 | 精品国产高清一区二区三区 | 中文字幕四区 | 亚洲第一成人在线观看 | 日本特级a一片免费观看 | 欧美a视频| 国产精品色综合 | 一级做a爰片性色毛片2021 | www日韩在线观看 | 好吊一区二区三区 | 久久一区国产 | 在线播放亚洲 | 成人免费毛片一 | 久久草草影视免费网 | 国产在线91| 欧美成人免费tv在线播放 | 欧美精品一区二区三区在线 | av在线免费观看网 | 久久国产成人午夜av浪潮 | 国产va在线观看 | 337p粉嫩大胆噜噜噜亚瑟影院 | 人与xxxxhdxxxhdxx| 福利免费在线观看 | 久久宗合色 | 成人毛片在线免费观看 | 在线成人一区二区 | 99re热视频这里只精品 | 久久免费视频8 |