2012-12-13 34 views
0

我想要在我的Main.as中通過外部類video01中的函數terug將var filmAan更改爲false。從外部類更改主類的變量

這是我Main.as

package 
{ 
import flash.display.MovieClip; 
import flash.events.MouseEvent; 
import fl.video.*; 

public class Main extends MovieClip 
{ 
    public function Main() 
    { 
     trace("hij werkt"); 

     btn_1.addEventListener(MouseEvent.CLICK,speel1); 
     btn_2.addEventListener(MouseEvent.CLICK,speel2); 
     btn_3.addEventListener(MouseEvent.CLICK,speel3); 
     btn_4.addEventListener(MouseEvent.CLICK,speel4); 
     btn_5.addEventListener(MouseEvent.CLICK,speel5); 
     btn_6.addEventListener(MouseEvent.CLICK,speel6); 
     btn_7.addEventListener(MouseEvent.CLICK,speel7); 
     btn_8.addEventListener(MouseEvent.CLICK,speel8); 
     btn_9.addEventListener(MouseEvent.CLICK,speel9); 

     var mc_video01:MovieClip = new video01(); 
     var mc_video02:MovieClip = new video02(); 
     var mc_video03:MovieClip = new video03(); 
     var mc_video04:MovieClip = new video04(); 
     var mc_video05:MovieClip = new video05(); 
     var mc_video06:MovieClip = new video06(); 
     var mc_video07:MovieClip = new video07(); 
     var mc_video08:MovieClip = new video08(); 
     var mc_video09:MovieClip = new video09(); 

     public var filmAan = false; 

     function speel1(evtObj:MouseEvent):void 
     { 
      if (filmAan == false) 
      { 
       trace("knop 1 werkt");    

       addChild(mc_video01); 
       mc_video01.x=340; 
       mc_video01.y=227; 
       mc_video01.width=1360; 
       mc_video01.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 1 uitgeschakeld"); 
      } 
     } 

     function speel2(evtObj:MouseEvent):void 
     { 
      if (filmAan == false) 
      {    
       trace("knop 2 werkt"); 

       addChild(mc_video02); 
       mc_video02.x=340; 
       mc_video02.y=227; 
       mc_video02.width=1360; 
       mc_video02.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 2 uitgeschakeld"); 
      } 
     } 

     function speel3(evtObj:MouseEvent):void 
     {   
      if (filmAan == false) 
      { 
       trace("knop 3 werkt"); 

       addChild(mc_video03); 
       mc_video03.x=340; 
       mc_video03.y=227; 
       mc_video03.width=1360; 
       mc_video03.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 3 uitgeschakeld"); 
      } 
     } 

     function speel4(evtObj:MouseEvent):void 
     { 
      if (filmAan == false) 
      { 
       trace("knop 4 werkt"); 

       addChild(mc_video04); 
       mc_video04.x=340; 
       mc_video04.y=227; 
       mc_video04.width=1360; 
       mc_video04.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 4 uitgeschakeld"); 
      } 
     } 

     function speel5(evtObj:MouseEvent):void 
     { 
      if (filmAan == false) 
      { 
       trace("knop 5 werkt"); 

       addChild(mc_video05); 
       mc_video05.x=340; 
       mc_video05.y=227; 
       mc_video05.width=1360; 
       mc_video05.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 5 uitgeschakeld"); 
      } 
     } 

     function speel6(evtObj:MouseEvent):void 
     { 
      if (filmAan == false) 
      { 
       trace("knop 6 werkt"); 

       addChild(mc_video06); 
       mc_video06.x=340; 
       mc_video06.y=227; 
       mc_video06.width=1360; 
       mc_video06.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 6 uitgeschakeld"); 
      } 
     } 

     function speel7(evtObj:MouseEvent):void 
     { 
      if (filmAan == false) 
      { 
       trace("knop 7 werkt"); 

       addChild(mc_video07); 
       mc_video07.x=340; 
       mc_video07.y=227; 
       mc_video07.width=1360; 
       mc_video07.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 7 uitgeschakeld"); 
      } 
     } 

     function speel8(evtObj:MouseEvent):void 
     { 
      if (filmAan == false) 
      { 
       trace("knop 8 werkt"); 

       addChild(mc_video08); 
       mc_video08.x=340; 
       mc_video08.y=227; 
       mc_video08.width=1360; 
       mc_video08.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 8 uitgeschakeld"); 
      } 
     } 

     function speel9(evtObj:MouseEvent):void 
     { 
      if (filmAan == false) 
      { 
       trace("knop 9 werkt"); 

       addChild(mc_video09); 
       mc_video09.x=340; 
       mc_video09.y=227; 
       mc_video09.width=1360; 
       mc_video09.height=1060; 

       filmAan = true; 
      } 
      else 
      { 
       trace("knop 9 uitgeschakeld"); 
      } 
     } 
    } 
} 
} 

這是我video01.as

package 
{ 
import flash.display.MovieClip; 
import flash.events.MouseEvent; 

public class video01 extends MovieClip 
{ 
    public function video01() 
    { 
     trace("movieclip 1 geladen"); 
     btn_terug.addEventListener(MouseEvent.CLICK, terug); 
    } 

    public function terug(evt:MouseEvent):void 
    { 
     trace("knop ingedrukt"); 
     this.parent.removeChild(this); 

    } 
} 
} 

究竟如何更改Main.as了var從video01類?

Thx提前!

回答

0

它看起來像你的video01類是主類的孩子。所以你可以使用parent關鍵字來訪問Main類。你需要以投父母不會拋出一個編譯器錯誤:

從您的video01類:

Main(parent).filmAan = false; 
+0

THX,但是當我這樣做,即時得到這個錯誤:Main.as,33號線\t 1114:公共屬性只能在包內使用。 – user1892747

+0

因爲你在函數內部定義了這個變量,所以將'var public var filmAan = false;'移到了它所在的函數之外,以使它成爲一個類作用域變量 – BadFeelingAboutThis

+0

Thx很多,工作正常! – user1892747