Sound类的一个bug

as2的sound是要绑定在一个mc上,才能独立控制,否则就是一个全局sound。
但这里有个很不经意时会触发的bug,使sound对象失效。

即动态改变了sound所绑定的mc的name。

_root.createEmptyMovieClip( " mc " , 0 );

var s:Sound 
=   new  Sound(mc);
s.attachSound(
' mp3 ' );
s.onSoundComplete 
=  s.start;
s.start();

onMouseDown 
=  function()
{
    _root.mc._name
='mc2';
}


运行上面的代码,当点击鼠标后,声音就停了,且所有sound的属性方法全部失效,当把_root.mc._name再次改为'mc'时,又可以启动了。
而且并不是改变sound的所绑定的mc名称才会触发此bug,只要改变了所绑定mc路径上的任意一个mc都会触发。
也就是说所绑定的mc是_root.mcA.mcB.mcC,只要改变mcA,mcB,mcC其中一个,该bug就会出现,这是比较危险的地方。

好在改变_name属性的机会不多,所以这个bug貌似也没多少人注意......
对于as2的sound机制已经变了,所以这个bug可能就此成为历史了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值