2009-04-13 113 views
1

我正在構建一個Flash項目,該菜單系統使用動態加載的影片剪輯爲菜單項自身創建菜單系統。Flash - 動態加載影片剪輯的滾動區域

我想要一個滾動條出現一旦菜單有足夠的項目,它比菜單區域大。

我在想,我可以在菜單區域放一個遮罩,並將影片剪輯放在遮罩內上下滾動的位置,但動態加載的影片剪輯似乎不會出現在面具。

我在互聯網上搜索了這個,但所有的滾動條教程,我可以找到處理文本區域,而不是動態加載電影剪輯區域。

有沒有人知道一個很好的教程,或者有一個建議,這樣做的優雅方式,所以我不必做一堆數學黑客,使其工作?

謝謝

回答

1

不確定你究竟是什麼。

我只是用Flash CS3/AS3做了一個快速測試,並且獲取了加載的項目以在面罩(滾動框的底部)內移動。

首先,我創建了一個遮罩層,然後創建一個新層作爲遮罩的子項。我向Mask層子添加了一個新的空MovieClip。我將這個MovieClip命名爲「mcItems」。

然後,我附加了下面的框架腳本(當然使用類將是可取的)。

for (var i:Number=0; i < 3; ++i) 
    { 
     var loader:Loader = new Loader(); 
     loader.load(new URLRequest('Content.swf')); 
     mcItems.addChild(loader); 
     loader.x = i * 120; 
    }; 
    function update (event:Event) 
    { 
     mcItems.x = 120*Math.sin(getTimer()/500) - 60; 
    }; 
    addEventListener(Event.ENTER_FRAME, update); 

現在,Content.swf只是一個120x120像素的灰色框。我的面具是240x120。執行後,將加載3個Content.swf框,並按預期在屏蔽區域內滑動。

至於滾動條代碼,我不確定'數學黑客'是什麼意思,但基本原則是你正在從一套單位轉換到另一套。你正在將你的「掩碼寬度/加載單元總數」轉換爲你的「滾動寬度/滾動條寬度」單位。

我建議查看相應的手冊頁以澄清上面使用的代碼。

Regards, Jotham。

+0

事實證明,我的文本框是動態的,除非包含字形,否則它們不會出現在掩碼下。謝謝。 – 2009-04-14 01:31:53