2012-05-24 16 views
0

我創建了一個快捷方式類,它接受一個動畫片段,並在有人翻過它時向該圖標添加一個突出顯示。從庫中處理很多動畫片段並將它們放入對象中

chromeshortcut是movieclip的類名,但看到如何有多個圖標,是否有一種更優雅的方式將這些mc從庫中檢索到我的快捷方式類中?

我想存儲所有mc類名的數組,但是有可能使用變量動態實例化對象嗎?因此,新的myclassname(),其中myclassname是從數組中檢索的變量。

import com.Shortcuts; 


var aName:MovieClip = new chromeshortcut(); 

var shortcut:Shortcuts = new Shortcuts(aName); 


shortcut.x = 200; 
shortcut.y = 200; 
addChild(shortcut); 

的快捷方式類:

package com{ 

       import flash.display.*; 
       import flash.events.*; 
       import 

flash.net.*; 


     public class Shortcuts extends MovieClip{ 

      private var highlight:MovieClip; 

      public function Shortcuts(icon:MovieClip){ 

       highlight = new shortcuthighlight(); 


       highlight.x = highlight.x - highlight.width/2; 
       highlight.y = highlight.y - highlight.height/2; 
       highlight.visible = false; 
       addChild(highlight); 

       icon.x = icon.x - icon.width/2; 
       icon.y = icon.y - icon.height/2; 
       addChild(icon); 


       this.addEventListener(MouseEvent.ROLL_OVER, addHighlight); 
       this.addEventListener(MouseEvent.ROLL_OUT, removeHighlight); 
      } 


      public function addHighlight(evt:MouseEvent){ 

       highlight.visible = true; 

      } 

      public function removeHighlight(evt:MouseEvent){ 

       highlight.visible = false; 

      } 

     } 





    } 

回答

0

我想你要對這個錯誤的方式 - 而不是傳遞影片剪輯成快捷方式類,你應該只是有影片剪輯擴展快捷方式類。

+0

我是否將我的快捷方式類設置爲mc屬性中的基類? – Adam

+0

好的,這有助於我的下一個問題。如果我想將圖標居中,我該怎麼做?使用this.x引用容器mc,而不是內部的圖形,這是我想要操作的。 – Adam

+0

@亞當我不完全明白這個問題。如果您想讓突出顯示在圖標的中心,則必須移動突出顯示,而不是圖標。 highlight.x =(this.width-highlight.width)/ 2; –

相關問題