next()函数是FlashPlayer提供的API。
功能是将播放头先前推进一帧。
我们假设swf文件有3帧:第一帧存放函数A,第二帧存放函数B,第三帧存放函数C。
当FlashPlayer的播放头在第一帧的时候,FlashPlayer只能访问第一帧中存放的A。
当FlashPlayer的播放头在第二帧的时候,FlashPlayer只能访问第一帧和第二帧中的信息,也就是说A和B。
当FlashPlayer的播放头在第三帧的时候,FlashPlayer能够访问全部三帧中存放的信息,也就是A、B、C。
总结一下:FlashPlayer只能访问当前所在帧之前的定义的信息,无法访问当前帧之后的帧中定义的而信息。
next()函数在Flex框架中的SystemManager类中出现。
它起到什么作用?
我们知道Flex程序中,只有SystemManager是MovieClip的子类,也即是说只有SystemManager具备多帧的特点。
多帧对于Flex而言,其意义只在于swf主程序加载时候的进度自我监控。
SystemManager的第一帧存放很少量的代码(用于生成进度条,对自身swf以及RSL等资源的加载进度进行监控),第二帧存放大量代码(主程序)。
SystemManager首先将播放头停在第一帧,然后生成进度条,对自身swf以及RSL等资源的加载进度进行监控。当全部资源下载完毕后,调用next()函数,将播放头移动到第二帧。这样才能够访问存在于第二帧中的主程序(生成其实例,并加入到显示列表中)。