2个回答
展开全部
你的Flash首先必须要有两个场景,一个场景就是显示进度条的,另一个场景就是显示你的主动画的。比如说你给第一个场景命名为“loading 动画”,主动画场景命名为“主动画”。
在“loading 动画”场景中,你要有两个图层,一个为“图层 1”,另一个图层为“图层 2”,新建一个影片剪辑,制作好你的进度条,这个进度条是有100帧的,并且它是一个从一个小长方形到一个大长方形的一个变形,在不同的帧也就对应着不同的长度,制作好这个进度条影片剪辑后,就把这个影片剪辑拖到图层1的第一帧上去就可以了,在图层1 的第二帧添加帧。图层1 就好了,就对图层2处理就可以了,在图层2的第一帧添加动作语句:
a=getBytesTotal();
b=getBytesLoaded();
load = Math.floor(b/a*100);
loader.gotoAndStop(load);//这个loader是你制作好的影片剪辑的实例名
在图层2的第二帧添加关键帧,加入动作:
if(a==b)
gotoAndPlay("主动画",1);
esle
gotoAndPlay(1);
测试一下,你可以看到了,不过你的“loading 动画”场景必需在“主动画”场景上面,而且测试的时候看不到效果,你需要模拟下载才可以看到效果的。祝你成功!
在“loading 动画”场景中,你要有两个图层,一个为“图层 1”,另一个图层为“图层 2”,新建一个影片剪辑,制作好你的进度条,这个进度条是有100帧的,并且它是一个从一个小长方形到一个大长方形的一个变形,在不同的帧也就对应着不同的长度,制作好这个进度条影片剪辑后,就把这个影片剪辑拖到图层1的第一帧上去就可以了,在图层1 的第二帧添加帧。图层1 就好了,就对图层2处理就可以了,在图层2的第一帧添加动作语句:
a=getBytesTotal();
b=getBytesLoaded();
load = Math.floor(b/a*100);
loader.gotoAndStop(load);//这个loader是你制作好的影片剪辑的实例名
在图层2的第二帧添加关键帧,加入动作:
if(a==b)
gotoAndPlay("主动画",1);
esle
gotoAndPlay(1);
测试一下,你可以看到了,不过你的“loading 动画”场景必需在“主动画”场景上面,而且测试的时候看不到效果,你需要模拟下载才可以看到效果的。祝你成功!
展开全部
在flash中,当前已经加载的字节量是_root.getbytesloaded();总共字节量是_root.getbytestotal();
所有的关于加载进度条的效果都是基于以上两个脚本制作的,如果你有一定的as编程脚本,那就不必看下去了。
一般最普通的进度条是用一个mc的宽度来表示,这一类很好做,只需新建一个任意大小矩形的mc,在场景中添加以下脚本即可:
stop();
onenterframe
=
function(){
if(_root.getbytesloaded()
<
_root.getbytestotal()){
mc._xscale
=
_root.getbytesloaded()
/
_root.getbytestotal()
*
100;
}else{
trace("加载完成");
onenterframe
=
function(){};
}
}
其余的进阶效果我就不一一讲了,比如用遮罩做成的进度条等等。
所有的关于加载进度条的效果都是基于以上两个脚本制作的,如果你有一定的as编程脚本,那就不必看下去了。
一般最普通的进度条是用一个mc的宽度来表示,这一类很好做,只需新建一个任意大小矩形的mc,在场景中添加以下脚本即可:
stop();
onenterframe
=
function(){
if(_root.getbytesloaded()
<
_root.getbytestotal()){
mc._xscale
=
_root.getbytesloaded()
/
_root.getbytestotal()
*
100;
}else{
trace("加载完成");
onenterframe
=
function(){};
}
}
其余的进阶效果我就不一一讲了,比如用遮罩做成的进度条等等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询