发布网友 发布时间:2022-04-22 04:34
共2个回答
热心网友 时间:2023-12-02 21:10
//这个是手动制作的,方便制作美观的图形和添加效果,制作个性化加载条。
import flash.events.ProgressEvent;
import flash.events.Event;
/*
1、新建影片剪辑,命名为进度条
2、在进度条元件中第一帧,画上一个矩形,设置其坐标为(0,0)
3、新建影片剪辑,命名为加载条
4、将进度条拉到加载条元件第一帧,点击进度条元件,在“属性”中命实例名为 bar,再设置其坐标为(0,0)
5、在加载条元件中,添加新图层2,复制(Ctrl+C)图层1的进度条,点击图层2,原位粘贴元件(Ctrl+Shift+V),之后将元件打散
6、添加新图层3,同步骤5在图层3添加散图
7、将图层3拉到图层1下面,修改图层3散图的颜色,作为加载进度的底图
8、右击图层2,在弹出的菜单中,选择“遮罩层”
9、回到主场景,将加载条拉到主场景中,命其实例名为mc_bar,则添加如下代码
*/
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS,progressFun);
this.loaderInfo.addEventListener(Event.COMPLETE,completeFun);
/**
*
*加载中
*/
function progressFun(e:ProgressEvent):void{
if(!this.mc_bar){
return;
}
var percent:Number = Math.floor(e.bytesLoaded/e.bytesTotal*100)/100;
this.mc_bar.bar.x = (percent-1)*this.mc_bar.bar.width;
if(this.mc_bar.txt_percent){
this.mc_bar.txt_percent.text = percent+"%";
}
}
/**
*加载完成
*/
function completeFun(e:Event):void{
this.loaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressFun);
this.loaderInfo.removeEventListener(Event.COMPLETE,completeFun);
}
/*
按Ctrl+Enter测试影片,在影片中主菜单“视图”->“下载设置”中选择需要模拟的宽带速度,
再点选“视图”->“模拟下载”或在影片中再按Ctrl+Enter进行下载进度测试
*/
/**
*
*注意:由于现文件够小,你查看不到效果
*
*PS:这是纯手动答案,测试正常。没证据,别侮辱别人的劳动成果
*/
追问想问下那个代表是加在影片剪辑上还是时间轴上?
追答这个是你个人主观决定的,放哪里都没有问题,即,你对动画打包多少层都没有关系。
但要注意了,如果是手动制作的动画,需要将动画放到主时间轴第一帧,否则会出现加载完才能出现的问题。再有可能就是会报未定义的错误。
来自:求助得到的回答
热心网友 时间:2023-12-02 21:11
新建一影片剪辑实例名为mc1放于主场景图层一第一帧,追答1、制作被加载的flash时先定位
比如主动画a.swf的画布大小是700*400,想被加载的b.swf载入主动画_x=300_y=200的位置。
那我们就可以,在b.swf里做画布和a.swf相同为:700*
400,将原来做的b.swf里的动画位置放于x=300y=200的位置