先发句牢骚,新装了flashplayer10 activeX后,居然看不到空间的图片幻灯片显示了。。。
mix_master的物品消失BUG,仔细研究后是setTimeout和swapDepths两个引起来的,强烈不建议用
setTimeout和别的函数混用时,一定要随时判断是否在执行setTimeout中,或许凑巧就是因为setTimeout和别的某个函数同时调用 类似的代码导致出莫名的错误。setTimeout本身就是setInterval的扩展,所以建议不要同时出先 setTimeout,setInterval及onEnterFrame事件。。时间的控制也可以用个空影片,用桢来触发也行
swapDepths强烈不建议参数用数字,用数字很容易出现复制的现象。。。见代码
stop()
mc.onPress=function(){
this.startDrag()
this.swapDepths(3500)}
mc.onRelease=mc.onReleaseOutside=function(){
this.stopDrag()
}
mc1.onPress=function(){
this.startDrag()
this.swapDepths(3500)
}
mc1.onRelease=mc1.onReleaseOutside=function(){
this.stopDrag()
}
btn.onPress=function(){
mc._visible=1-mc._visible
mc1._visible=1-mc1._visible
}
这样是没问题的。。。但是当btn为跳转时,按几下就会复制出新的mc或mc1了。。。
btn.onPress=function(){
_root.gotoAndStop(5-_currentframe)
}
用swapDepths(mc)或swapDepths(mc.getDepths)完全没问题。
//--------------------------以下为评论---------------------------------------------
设计类对象的depth从-16383,而removeMovieClip方法只对depth大于等于0的mc有效。
影片按桢跳转时,是会默认的把没占位的depth填上的。当remove掉一个mc,但是仍然可以trace得出mc.getDepth()。如果该mc没被remove掉只换了depth的话,那么可能就复制了。。
//-----------------------------我的发现-------------------------------------
最近我在做一个类似的功能,发现,setInterval后,MC里面的东东操作后无任何反应,就是无显示,我是用AS3写的,找了半天原因,发现,函数是在运行,但是当我另外点击按钮触发这个函数时,这个函数会两次两次的执行,且后面调用的函数执行正常,不知道是否是复制的结果……
今天看了这个文章,郁闷啊,flash好的地方是:很多东东他会给你自动填充,但是很多东东,结果却不是我们的初衷,望这点小经验,对大家有用!