2012-01-27 70 views
0

我在时间线上有两个相同的Movieclip副本,我需要他们都做同样的事情,所以我想我会给他们相同的实例名称。2具有相同实例名称的动画片段

我在舞台上有一个事件监听器,它监听鼠标点击,然后使用开关语句检查点击的内容,但切换语句只拾取一个动画片段实例,另一个实例作为默认。

主要是我问的是,是否有必要在相同的实例名称的时间线上的影片剪辑?

public function Main() { 
    stage.addEventListener(MouseEvent.CLICK, doStuff); 
} 

public function doStuff(e:MouseEvent):void { 
    switch (e.target) { 
     case myMC1 : 
      //do stuff 
      break; 
     case myMC2 : 
      //do stuff 
      break; 
     case myMC3 : 
      //do stuff 
      break; 
     default : 
      //do stuff 
    } 
} 

回答

2

的孩子给的情况下,两个不同的名字(不要使用相同的名称FOR TWO对象,真的:))事件的对象,并改变开关声明是这样的:

public function doStuff(e:MouseEvent):void { 
switch (e.target) { 
    case myMC1 : 
    case myMC2 : 
     //do stuff 
     break; 
    case myMC3 : 
     //do stuff 
     break; 
    default : 
     //do stuff 
} 
} 

通过格式化这种方式,可以执行相同的代码为两个不同的案件

1

改为使用e.currentTarget。
e.target会给你分派这可能是你的影片剪辑