我在一个框架中创建一个动作有两个目的: 1.添加clickTag 2. 5秒后停止动画。
clickTAG正在运行,但5秒后没有停止,我不明白为什么
on (release) {
if (_root.clickTAG.substr(0,5) == "http:") {
getURL(_root.clickTAG, "_blank");
}
};
var myTimer:Timer = new Timer(5000, 1);
myTimer.start();
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, function(e:TimerEvent){
stop();
});
有什么建议吗?
答案 0 :(得分:3)
呃..提供的代码有很多错误,我不知道从哪里开始。首先,你将as2与as3混合
动画片段中的on(...)
仅在动作脚本2中允许,而计时器类别为as3。
另一个巨大的混淆是你将on(...)
处理程序放在电影本身上(电影被选中并且代码放在它上面) - 这没关系。什么是不好的是你不能在动画片段上放置常规代码 - 意思是计时器。这样的东西必须放在一个框架上(点击框架然后编辑动作脚本)。即便如此,计时器也不会像它的actionscrtip3类一样工作。
考虑到你的“clicktag”正在运行这意味着你可能正在运行as2。
正如我已经说过的,as2中没有本机计时器类。你必须使用setTimeout。请注意,setTimeout与大多数常规动作一样,必须放在一个帧上,而不是一个动画片段。和setTimeout的例子:
setTimeout( function(){
stop();
},5000); //5000 is amount of miliseconds
...顺便说一下......谷歌广告应该在30秒后停止,而不是5秒。