1

我在一个框架中创建一个动作有两个目的: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();
    });

有什么建议吗?

4

1 回答 1

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 秒。

于 2013-05-06T15:20:38.030 回答