2010-06-26 41 views
1

我想在flash中設計一個網站,並且想知道如何設計一個加載flash動畫,就像是一個旋轉到網站加載的圓形。我可能無法正確解釋,但是當你安裝一個軟件,你得到的安裝欄,如何使用flash或java腳本在網站上獲取它時?如何在Flash中對加載動作進行編碼?

+0

你想預加載?我認爲這就是你要找的。這樣你就可以獲得有關Flash文件在html頁面中加載的信息。 [示例](http://www.smithmediafusion.com/circlePreloaderAS3.swf) – phwd 2010-06-26 15:54:19

+0

是的預加載程序 – Hick 2010-06-26 16:04:37

回答

0

如果你只是想旋轉一圈直到網站加載,不要使用flash。

你應該只是有一個動畫gif,等待頁面加載然後消失,並顯示內容時,一切都加載。

跨瀏覽器完全支持GIF動畫,大小約爲Flash動畫大小的1/100。

+0

Flash使用向量來保持文件的大小。我的preloader是6kb,一個動畫gif是3kb。幾乎沒有1/100和我看起來好多了:P 無論如何,這聽起來像mekasperasky正在Flash中創建一個網站。 – Allan 2010-06-27 09:01:38

1

好,所以你需要一個預加載器(我假設你使用ActionScript 3.0)。這將是一個加載主Flash文件的小SWF文件。最小的實現(如下所示)大約爲1-2 KB

因此,在您的Flash IDE(Flash CS3,CS4,CS5)中要創建一個新的fla,我們稱它爲preloader.fla。在這個文件中,你會想要兩層。將第一層命名爲操作,將第二層命名爲內容。

在您的內容層中,只需在舞臺上放置一個動態文本字段即可。將其命名爲txt/percent或任何你想要的......我正在使用txt。

在你的行動層您想選擇第一個關鍵幀,然後打開動作(代碼)面板

然後你想使用Loader類加載外部文件(你的主要flash動畫)如下

var ldr:Loader = new Loader();

要處理動畫等,您需要聽取ProgressEvent。你會被contentLoaderInfo內聽負載信息

ldr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, update); 

所以,當你的主文件的數據被加載該事件被觸發如下做到這一點。 'update'將是我們將要調用的處理數據進度的函數。

當主文件的加載完成並且我們想要顯示它時,下一個要收聽的事件將會發生。

ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, display); 

然後我們有一個函數display它處理完成並顯示主文件。

最後一件事是加載內容, main.swf中。

ldr.load(new URLRequest("main.swf")); 

在這裏,我們將有文本字段只顯示從0 - 100%的字節加載;

function update(e:ProgressEvent):void { 
    var percent:Number = e.bytesLoaded/e.bytesTotal; 
    txt.text = Math.ceil(percent*100).toString(); 

} 

下面是刪除textfield(txt)並將main.swf添加到顯示列表的功能。

function display(e:Event):void { 
    removeChildAt(0); 
    txt=null; 
    addChild(ldr); 
} 

現在你可以,如果你想例如在內容層的TXT更改爲不同的東西,你說一個圓圈轉動...取決於你想要的顯示,所以我已經把下面你可以一些鏈接跟隨。乾杯。

例1:Demo] [Source Code and Files] 例2:Demo] [Source Code and Files]

相關問題