永发信息网

会as3的大神帮个忙啦,我想实现点击后延迟3秒再执行函数。我这么写为什么不延迟呢。

答案:2  悬赏:10  手机版
解决时间 2021-03-22 17:07
  • 提问者网友:听门外雪花风
  • 2021-03-22 02:56
import flash.events.MouseEvent;
this.mc.stop();
var mytime = setTimeout(main, 3000);
function main(event: MouseEvent): void {

this.mc.gotoAndStop(10);
clearTimeout(mytime)
}
this.mc.addEventListener(MouseEvent.CLICK, main);
最佳答案
  • 五星知识达人网友:低音帝王
  • 2021-03-22 03:32
这么写是跟自己过不去么...
维护困难,而且你的侦听事件根本没有真正删除掉,很容易内存溢出
你每次的addEventListener都侦听了新函数
removeEventListener也是删除的一个新的函数的侦听,这个新函数是才创建的,根本没有侦听触发过,所以删除是无效的,已经侦听的函数一直在运行,不信trace下
缓动一般用第三方的类库greensock的TweenLite/TweenMax,或者实在不行用Aodbe自带的Tween类也可以,如果一定想自己写就老老实实的声明函数吧
全部回答
  • 1楼网友:行雁书
  • 2021-03-22 04:22
期待看到有用的回答!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯