作者hirabbitt (兔子)
看板Flash
标题[问题] 子物件的影格有可以和父物件沟通的语法吗?
时间Fri May 20 09:31:42 2011
我想要知道子物件播放到第n格的时机
是否只能用父物件一直去检查子物件播放到哪了
还是可以在子物件中的影格写上什麽
让它执行到该格就丢出一个事件?
感谢
--
◤ __ \__◣
◢◤◢◤ ψhirabbitt
◢ ◤ ◢███◣
◢███◣
凉凉黑兔 █████
█████ 茕茕白兔
十寒一曝 ██
●█
● █▇███ 东走西顾
食不嫌荤 ██
╱╲ ●◥█████◣● 衣不如新
心不嫌素 ◥
╱█
╱╱ ● ◥████ ˇ 人不如故
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.13.127.91
1F:→ aquarianboy:dispatchEvent 05/20 09:36
2F:→ hirabbitt:感谢 我查查看 05/20 11:56
3F:→ hirabbitt:那假如我这个物件是动态产生好几个 我要怎麽知道是哪一 05/20 17:35
4F:→ hirabbitt:个物件丢出事件呢? 05/20 17:36
5F:→ etrexetrex:e.currentTarget 05/20 17:38
6F:→ hirabbitt:感谢 flash as3真是博大精深 05/20 17:49
7F:→ hirabbitt:咦 e的类别是什麽? 05/20 17:59
8F:→ hirabbitt:就是function(E: 这边要写什麽? 05/20 18:00
元件库b_bbomb物件影格中:
//丢出booming事件
dispatchEvent(new Event("booming"));
stop();
场景一影格中:
//在静态物件world中动态产生b_bbomb物件
tempMC=new b_bbomb();
tempMC.x=Math.floor(temp1x/22.5)*22.5;
tempMC.y=Math.floor((temp1y-40)/22.5)*22.5+40;
world.addChildAt(tempMC,0);
//监听booming事件
addEventListener("booming",function(E:Event):void{
trace("!");
将丢出booming事件的物件隐藏
E.currentTarget.visible=false;
});
但是现在连trace("!");都没有跑出来QQ
※ 编辑: hirabbitt 来自: 163.13.127.91 (05/20 18:18)
9F:推 etrexetrex:看起来没问题 05/20 18:22
10F:→ hirabbitt:但是trace不到耶 会不会是因为b_bbomb是动态产生的 05/20 18:27
11F:→ hirabbitt:所以丢出的事件 场景1收不到? 05/20 18:27
12F:→ hirabbitt:我有试着在b_bbomb中super.dispatchEvent(new Event("bo 05/20 18:28
13F:→ hirabbitt:但是就算加了super 场景1这边一样收不到 05/20 18:28
14F:→ hirabbitt:tempMC.addEventListener("booming",function(E:Event): 05/20 18:36
15F:→ hirabbitt:这样就可以了=.= 05/20 18:37
16F:推 MrMarcus:dispatchEvent(new Event("booming", true));第二个参数 05/21 23:12
17F:→ MrMarcus:给true让该事件参与bubbling,上层物件才会收得到该事件 05/21 23:12
18F:→ MrMarcus:world以及最外层root都会收到。你原本加上super.的写法 05/21 23:14
19F:→ MrMarcus:(第二个参数没有给true)是由world来发出事件,但是因为 05/21 23:16
20F:→ MrMarcus:没有bubbling所以场景一还是收不到,只有world本身收得到 05/21 23:16
21F:推 MrMarcus:抱歉super部分我说错了。parent.dispatchEvent..才是由 05/21 23:21
22F:→ MrMarcus:world来发出事件 05/21 23:22
23F:→ hirabbitt:原来如此 感谢 05/22 06:18