您的位置首页百科问答

FLASH8中的setInterval怎么用?

FLASH8中的setInterval怎么用?

的有关信息介绍如下:

FLASH8中的setInterval怎么用?

在播放 SWF 文件时,每隔一定时间就调用函数或对象的方法。您可以在一段时间内使用 setInterval() 重复执行任何函数。在使用 setInterval() 时注意下列提示:确定被调用的函数的范围。 确定设置了间隔 ID(setInterval() 的返回值)的范围。 在开始设置新的间隔之前清除以前设置的间隔。 下文将详细讨论这些提示。确定被调用的函数的范围。 要确定被调用函数的范围,请将可在其中执行 setInterval() 方法的对象(对象范围)作为第一个参数传递,将要执行的方法名称作为第二个参数传递(如第二个签名中所示)。这可以确保所需的方法从传入的对象引用的范围内执行。以这种方式执行方法时,它可以使用 this 关键字引用对象上的成员变量。确定设置了间隔标识符的范围。 要确定设置了间隔标识符 (intervalId) 的范围,您可以将它分配给您传递给 setInterval() 的对象范围上的一个成员变量。这样,被调用的函数就可以在 this.intervalId 找到间隔标识符。清除以前设置的间隔。 要在开始设置新的间隔之前清除以前设置的间隔,通常应先调用 clearInterval(),然后 调用 setInterval()。这可以确保您不会覆盖或以其它方式破坏 intervalId 变量,该变量是对当前运行的间隔的唯一引用。要在调用 setInterval() 之前调用 clearInterval(),启动脚本和被执行的脚本都必须能够访问 intervalId,如示例中所示。注意:当需要脚本停止循环时,请始终确保调用 clearInterval()。可用性:Flash Player 6;ActionScript 1.0参数 functionReference:Function - 对要被调用的函数的引用。interval:Number - 对传入的 functionReference 或 methodName 函数的调用所间隔的时间(以毫秒为单位)。如果 interval 小于 SWF 文件的帧频(例如,每秒 10 帧 [fps] 相当于 100 毫秒的间隔),则尽可能按照接近 interval 的时间间隔值调用间隔函数。在间隔期间执行大量耗费内存的长脚本将导致延迟。如果被调用的函数启动对可视元素的更改,您应使用 updateAfterEvent() 函数来确保屏幕刷新率足够高。如果 interval 大于 SWF 文件的帧频,则间隔函数仅在 interval 已到期并且 播放头已进入下一帧时才被调用;这就尽可能减轻了每次刷新屏幕时所产生的影响。 param:Object [可选] - 向发送给 functionReference 或 methodName 的函数传递的参数。多个参数应该用逗号隔开: param1 , param2 , ..., paramNobjectReference:Object - 一个对象,它包含由 methodName 指定的方法。 methodName:String - 一个方法,它存在于由 objectReference 指定的对象的范围中。返回 Number - 一个整数,它标识间隔(间隔 ID),您可以将其传递给 clearInterval() 以取消间隔。示例 范例 :以下示例以 20 毫秒的间隔跟踪一条消息,直到跟踪达到 10 次,然后清除该间隔。对象范围 this 作为第一个参数传入,方法名称 executeCallback 作为第二个参数传入。这可以确保 executeCallback() 是从调用的脚本的同一范围内执行的。 var intervalId:Number;

var count:Number = 0;

var maxCount:Number = 10;

var duration:Number = 20;

function executeCallback():Void {

trace("executeCallback intervalId: " + intervalId + " count: " + count);

if(count >= maxCount) {

clearInterval(intervalId);

}

count++;

}

intervalId = setInterval(this, "executeCallback", duration);