2009-10-18 123 views
1

我有3個MC:類別1類別2類別3在圖書館,在他們每個人我有MC使用相同的實例名稱:_background_picture,但完全不同的抗衡。我想要做的是創建一個SuperCategory類,它會在_background,_picture上做同樣的事情。所以在圖書館我沒有導出腳本類別1,類別2,類別3如何避免此錯誤「與繼承定義存在衝突」?

public class SuperCategory extends MovieClip 
{ 
    public var _picture:MovieClip; 
    public var _background:MovieClip; 
    public var time:int = 0; 

    public function SuperCategory() 
    { 
     addEventListener(MouseEvent.ROLL_OVER, onRollOver) 
    } 
    public function onRollOver(event:MouseEvent):void 
    { 
     TweenMax.to(_picture,time,{alpha:0.2}); 
    } 

} 

,我想擴展這個類

public class Category1 extends SuperCategory 
{ 
    public function Category1() 
    { 
     time = 2; 
     super(); 
    } 
} 

我知道衝突是公共變種_picture並具有實例名爲_picture MC的圖書館之間,但我怎麼可以這樣做這並避免這個錯誤?

回答

1

如果在類別MC中將實例名稱更改爲其他可能是「_pic」的內容。 然後在構造函數中的範疇類,你做這樣的事情:

public class Category1 extends SuperCategory{  
     public function Category1()  
     {   
      time = 2;   
      super(); 
      registerRollOver(_pic); 
     } 
} 

SuperCategory類

public class SuperCategory extends MovieClip 
    { 
     public var _picture:MovieClip; 
     public var _background:MovieClip; 
     public var time:int = 0; 

     public function SuperCategory() 
     { 

     } 
     public function onRollOver(event:MouseEvent):void 
     { 
      TweenMax.to(_picture,time,{alpha:0.2}); 
     } 

     public function registerRollover(clip:MovieClip):void 
     { 
      _picture = clip; //in case you want it to be class member still 
      _picture.addEventListener(MouseEvent.ROLL_OVER, onRollOver) 
     } 

    } 
+0

你好,謝謝了關於「註冊」的影片剪輯庫的想法 – exus 2009-10-18 09:34:01