2 回答

TA貢獻1784條經驗 獲得超7個贊
如果我是樓主會把B狀態的改變寫成一個public 的方法,把a組件下的click事件也寫成方法,把鼠標偵聽全放進application,或者單獨拿一類。
回到話題,你的事情可以用2次事件發送解決。新開一個自定義事件類:
1 package {
2 import flash.events.Event;
3 public class myEvent extends Event {
4 public static const CLIPA_CLICK:String="clipa_click";
public static const CLIPA_CLICKTOB:String="clipa_clicktob";
6 public function myEvent() {
7 super(CLIPA_CLICK);
8 }
15 }
16 }
a,application,b中都要導入myEvent
a類中click回調函數中加 this.dispatchEvent(new myEvent(CLIPA_CLICK));
在application類的構造函數或構造函數引用的方法中加
a.addEventListener(myEvent.CLIPA_CLICK,sentToB);
然后加個方法,注意b要是最上面聲明的,不能在函數內聲明
private function sentToB(e:myEvent):void {
b.dispatchEvent(new myEvent(CLIPA_CLICKTOB));
}
在b類中加 this.addEventListener(myEvent.CLIPA_CLICKTOB,callBackFunc);
---其中 callBackFunc就是你要執行的狀態改變了。
添加回答
舉報