2011-09-05 115 views
2

美好的一天。我正在爲我們的遊戲創建一個類似Flash文件的庫。我正在使用adobe flash cs5與as3和adobe indesign。我還是很新的閃光燈(一個真正的新手),我想知道如果有人能幫我解決我的問題。加載一個新的movieclip/swf文件按鈕點擊AS3

描述:

我有一個名爲 「炫魅」 一個影片剪輯文件。 mainPage包含6個按鈕(帶有cyrstal設計),但只允許關注1個按鈕。第一個按鈕包含名稱Art_btn,當單擊該按鈕時(這是我的問題),它將調用movieclip artBook。我有另一個名爲「artBook」的電影片段。我的artBook中的內容被分離或寫在每個可以被點擊next或prev時調用的幀上。

這是我的概率。當我點擊Art_btn時,我不知道什麼是適合artBook的正確代碼。 我嘗試插入代碼,如loadMovie,gotoAndPlay和addChild,但是當我測試它時,mainPage的內容不會顯示出來,它會產生錯誤。

我解決我的問題,有兩種選擇:

  1. 加載在操作選項卡中閃光CS5從Adobe InDesign中所做的swf文件

  2. 加載/打開按鈕點擊另一個影片剪輯。


對我的第一選項的目​​的是創建至少一個簡單的翻頁效果的book.I已經在Adobe InDesign中創建的文件打開的作品外,當閃爍的Adobe CS5

我的第二個選擇是調用另一個影片剪輯,當我按下特定的按鈕,它沒有頁面翻轉動畫和任何。


這裏是我的閃存的唯一代碼,位於炫魅

stop(); 

import flash.events.MouseEvent; 

Art_btn.addEventListener(MouseEvent.CLICK, ArtClick); 

function ArtClick(event:MouseEvent){ 
//what should be put here? :(here is where i put the codes i tried that causes the error 

} 

的動作面板我希望有人能夠幫助我。 :(我真的很感激它,如果它可以工作在此先感謝那些誰也回答

回答

1

這裏是如何完成選項1(加載外部SWF):

var loader:Loader = new Loader(); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoaded); 
loader.load(new URLRequest("nameAndLocationOfSWFFile.swf")); 

function handleLoaded(evt:Event):void { 
    //evt.target.content is your reference to the swf that was loaded 
    addChild(evt.target.content); 
} 

至於選項2,這取決於我不確定根據你的描述確定你想要的確切意圖或方法是什麼,但是你可以讓你的動畫片段已經添加到另一幀的舞臺上,或者您可以創建一個新的動畫片段實例

要使用不同的幀,只需將您的動畫片段放置在不同幀的舞臺上並給框架一個標籤。從ArtClick()內部,您可以撥打gotoAndStop("myTargetFrameLabel")

要創建動畫片段的新實例,您需要設置與動畫片段的鏈接。如果你給你的影片剪輯畫集的連鎖類的名稱,你可以使用下面的內ArtClick()

var myClip:MovieClip = new ArtBook(); 
addChild(myClip); 

這將畫集的新實例添加到舞臺上。