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就是你要执行的状态改变了。
添加回答
举报