Flash as入门(9):控制时间轴(4)

http://www.itjxue.com  2015-07-17 23:38  来源:未知  点击次数: 

加载进度条的制作:

一些稍大一点的动画,打开比较慢,尤其是在网络上更是如此。有人建议,你的动画如果超过100k,要把它放到网络上,最好做一个加载进度条。加载进度条的制作与播放进度条的制作原理差不多,只是获取的是加载的字节数而不是播放的帧数。先看看MC的两个方法:

getBytesLoaded()方法:返回已加载的字节数。

getBytesTotal()方法:返回动画的总的字节数。注意与上面的_totalframes属性相区别,_totalframes属性是动画的总的帧数,getBytesTotal()方法:返回的是动画的总的字节数。

了解了这两个方法后,制作就与播放进度条一样了。加载进度条常常会放到新的场景中,接上面的练习,点击 窗口>其它面板>场景打开场景面板,点右下角的加号,新增一个场景,并将这个场景拖到原场景1之上。回到场景2,新建一静态文本,内容为:“正在加载请稍候……”,在它下面放一个动态文本,实例名称为:load_txt.新建一影片剪辑元件,画一个细长的矩形,左对齐。回到场景2,将元件拖入放到动态文本下面。实例名称为:load_mc.新插入一层,打开帧动作面板,输入:
load_mc._xscale = 0;
onEnterFrame = function() {

if(getBytesLoaded()<getBytesTotal()){

loadjd = Math.round(getBytesLoaded()/getBytesTotal()*100);

load_mc._xscale = loadjd;

load_txt.text = loadjd +"%";

} else {

delete onEnterFrame;

}


}

点击舞台上的场景按钮,点场景1,这回到了场景1,在action的第100帧(最后一帧)插入关键帧,打开动作面板,输入:
gotoAndStop(1);

为什么要加这句?因为在场景1的前面,我们放了一个加载条的场景,当场景1 播放完后,播放头将回到加载场景,而这时动画已加载,是不需要再播放加载场景的。所以用这一句将播放头回到场景1的第一帧,从而避开了加载场景。

测试影片,结果直接进入了场景1,没看到加载进度条。为什么呢?这是因为在本地影片加载速度太快,没法显示加载进度。没关系,不要关闭flash player,点 视图>下载设置,因为我们的动画太简单,所以选最上面的速度最慢的那个14.4k.这样这可模似在网上加载动画。点 视图>模似下载,怎么样看到了加载进度条了吧。

作业:制作下面的播放器

(责任编辑:IT教学网)

更多

推荐Flash actionscript文章