所以我有这个功能
capture_mc.buttonMode = true;
capture_mc.addEventListener(MouseEvent.CLICK,captureImage);
function captureImage(e:MouseEvent):void {
//lalalala
}
我想每2秒调用一次此函数(鼠标点击事件发生后)。 我尝试使用setInterval
setInterval(captureImage,2000,e:MouseEvent);
但会导致以下错误
1084: Syntax error: expecting rightparen before colon.
怎么了? 而且,我是AS的新手。
答案 0 :(得分:2)
首先,由于这是AS3,因此您应该使用Timer和TimerEvent。我将在示例中向您展示。
现在你需要分开你的职能:
编辑:我根据@(Juan Pablo Califano)的建议将此更新为更安全。如果时间量不会改变,我会永远保持相同的计时器。
// first param is milliseconds, second is repeat count (with 0 for infinite)
private var captureTimer:Timer = new Timer(2000, 0);
captureTimer.addEventListener(TimerEvent.TIMER, handleInterval);
function handleClick(event:MouseEvent):void
{
// call here if you want the first capture to happen immediately
captureImage();
// start it
captureTimer.start();
}
function handleInterval(event:TimerEvent):void
{
captureImage();
}
function captureImage():void
{
// lalalala
}
您也可以随时使用captureTimer.stop()
停止计时器。
答案 1 :(得分:1)
问题是,只有在声明形式参数时(或在声明parameterName:ParameterType
和var
时)才应使用const
语法。这意味着,只有在定义函数时才有效:
function func(paramName:Type){
}
调用函数时,不必输入参数的类型。
因此,您的函数调用应如下所示:
setInterval(captureImage,2000,e);