您好!欢迎您光临Flash加载外部文件创建进度条_邵阳都市枫林! 聊天室 I 论坛 I 免费电影 I

会员注册

I

本站搜索

I

收藏本站

当前位置:首页 >>>动画教程>>>flash教学>>>Flash加载外部文件创建进度条
Flash加载外部文件创建进度条
发表日期:2013/9/5 14:32:00 出处:未知 作者:漫步人生 发布人:qinoglin 已被访问 361

加载外部文件进度条(看帮助文档整理)只适合那些不愿看帮助文档新手我只不过加了些注释
 
  为加载图像文件或 SWF 文件创建进度条
 
  创建个名为 loadImage.fla 新 Flash 文档
 
  选择"修改">"文档"在宽度文本框中键入 700在高度文本框中键入 500从而更改文档尺寸
 
  在时间轴中选择第 1 帧然后在"动作"面板中键入下面代码: 
 
// 创建剪辑来承载您内容 
this.createEmptyMovieClip("progressBar_mc", 0);
progressBar_mc.createEmptyMovieClip("bar_mc", 1);
progressBar_mc.createEmptyMovieClip("stroke_mc", 2);
// 创建进度框 
with (progressBar_mc.stroke_mc) {
  lineStyle(0, 0x000000);
  moveTo(0, 0);
  lineTo(100, 0);
  lineTo(100, 10);
  lineTo(0, 10);
  lineTo(0, 0);

//创建进度条 
with (progressBar_mc.bar_mc) {
  beginFill(0xFF0000, 100);
  moveTo(0, 0);
  lineTo(100, 0);
  lineTo(100, 10);
  lineTo(0, 10);
  lineTo(0, 0);
  endFill; 
  _xscale = 0; 

//进度坐标 
progressBar_mc._x = 2;
progressBar_mc._y = 2;
//加载进度 
var mclListener:Object =  Object;
//开始加载时进度条缩放为0 
mclListener.onLoadStart = function(target_mc:MovieClip) {
  progressBar_mc.bar_mc._xscale = 0;
}; 
//在加载过程中进度条进行缩放 
mclListener.onLoadProgress = function(target_mc:MovieClip, sLoaded:Number, sTotal:Number) {
  progressBar_mc.bar_mc._xscale = Math.round(sLoaded/sTotal*100);
}; 
//加载完成后进度移除 
mclListener.onLoadComplete = function(target_mc:MovieClip) {
  progressBar_mc.removeMovieClip;
}; 
//当执行加载剪辑第帧上动作时(这里设置加载外部文件宽高设置)
mclListener.onLoadInit = function(target_mc:MovieClip) {
  target_mc._height = 500;
  target_mc._width = 700;
}; 
// 创建个剪辑来承载图像 
this.createEmptyMovieClip("image_mc", 100); 
var image_mcl:MovieClipLoader =  MovieClipLoader;
image_mcl.addListener(mclListener); 
image_mcl.loadClip("http://www.helpexamples.com/flash/images/gallery1/images/pic3.jpg",
image_mc);
 
     为加载 MP3 文件创建进度条
 
  创建个名为 loadSound.fla 新 Flash 文档
 
  在时间轴中选择第 1 帧然后在"动作"面板中键入下面代码:
 

//设置宽高变量 
var pb_height:Number = 10;
var pb_width:Number = 100;
//在影片剪辑pb中创建进度 
var pb:MovieClip = this.createEmptyMovieClip("progressBar_mc", this.getNextHighestDepth);
//在影片剪辑pb中创建进度条 
pb.createEmptyMovieClip("bar_mc", pb.getNextHighestDepth);
//在影片剪辑pb中创建进度条右边直线 
pb.createEmptyMovieClip("vBar_mc", pb.getNextHighestDepth);
//在影片剪辑pb中创建进度框 
pb.createEmptyMovieClip("stroke_mc", pb.getNextHighestDepth);
//在影片剪辑pb中创建动态文本 
pb.createTextField("pos_txt", pb.getNextHighestDepth, 0, pb_height, pb_width, 22);
//影片剪辑pb坐标设置
pb._x = 100;
pb._y = 100;
//画进度条 
with (pb.bar_mc) { 
  beginFill(0x00FF00);
  moveTo(0, 0); 
  lineTo(pb_width, 0); 
  lineTo(pb_width, pb_height);
  lineTo(0, pb_height);
  lineTo(0, 0);
  endFill; 
  _xscale = 0;

//画进度条右边直线
with (pb.vBar_mc) { 
  lineStyle(1, 0x000000);
  moveTo(0, 0); 
  lineTo(0, pb_height);

//画进度框 
with (pb.stroke_mc) {
  lineStyle(3, 0x000000); 
  moveTo(0, 0); 
  lineTo(pb_width, 0); 
  lineTo(pb_width, pb_height);
  lineTo(0, pb_height);
  lineTo(0, 0);

//设置些变量 
var my_erval:Number; 
var my_sound:Sound =  Sound;
//加载声音自动 
my_sound.onLoad = function(success:Boolean) {
   (success) { 
   trace("sound loaded");
  }
}; 
//声音播放完毕时 
my_sound.onSoundComplete = function {
  clearInterval(my_erval);
  trace("Cleared erval");

//加载声音路径 
my_sound.loadSound("http://www.helpexamples.com/flash/sound/song2.mp3", true);
//每隔定时间就下面updateProgressBar 
my_erval = Interval(updateProgressBar, 100, my_sound);
function updateProgressBar(the_sound:Sound):Void {
//设置声音进度(声音已播放时间除以声音总时间乘以100) 
  var pos:Number = Math.round(the_sound.position / the_sound.duration * 100);
//进度条进行缩放 
  pb.bar_mc._xscale = pos; 
//进度条右边直线X坐标等于进度条宽
  pb.vBar_mc._x = pb.bar_mc._width;
//动态文本显示进度 
  pb.pos_txt.text = pos + "%";
}
 
     为加载视频创建进度条 
 
  创建个名为 flvProgress.fla 新 FLA 文件
 
  在"库"面板("窗口">"库")中从"库"弹出菜单中选择"新建视频"
 
  在"视频属性"对话框中为视频元件命名并选择"视频"(由 Actionscript 控制)
 
  单击"确定"创建个视频对象
 
  将该视频对象从"库"面板拖动到舞台上以创建视频对象例子
 
  使视频对象在舞台上保持选中状态在属性检查器("窗口">"属性">"属性")中"例子名称"文本框中键入
my_video
 
  使视频例子保持选中状态在宽度文本框中键入 320在高度文本框中键入 213
 
  在时间轴中选择第 1 帧然后在"动作"面板中键入下面代码:
 
//创建 NetConnection 对象您可以将该对象和 NetStream 对象起使用来播放视频流 (FLV) 文件
var connection_nc:NetConnection =  NetConnection;
对于此参数必须传递 null 
connection_nc.connect(null); 
创建可用于通过指定 NetConnection 对象播放 FLV 文件流
var stream_ns:NetStream =  NetStream(connection_nc);
//指定将在舞台上 Video 对象边界内显示视频流
my_video.attachVideo(stream_ns);
//播放外部视频 (FLV) 文件 
stream_ns.play("http://www.helpexamples.com/flash/video/typing_.flv");
//创建动态文本(显示进度) 
this.createTextField("loaded_txt", this.getNextHighestDepth, 10, 10, 160, 22);
//创建进度影片剪辑 
this.createEmptyMovieClip("progressBar_mc", this.getNextHighestDepth);
//在进度影片剪辑中创建进度条 
progressBar_mc.createEmptyMovieClip("bar_mc", progressBar_mc.getNextHighestDepth);
//画进度条 
with (progressBar_mc.bar_mc) { 
  beginFill(0xFF0000);
  moveTo(0, 0);
  lineTo(100, 0);
  lineTo(100, 10);
  lineTo(0, 10);
  lineTo(0, 0);
  endFill; 
  _xscale = 0;

//在进度影片剪辑中创建进度框 
progressBar_mc.createEmptyMovieClip("stroke_mc", progressBar_mc.getNextHighestDepth);
//画进度框 
with (progressBar_mc.stroke_mc) {
  lineStyle(0, 0x000000);
  moveTo(0, 0);
  lineTo(100, 0);
  lineTo(100, 10);
  lineTo(0, 10);
  lineTo(0, 0);

//每隔定时间就下面checkBytesLoaded 
var loaded_erval:Number = Interval(checkBytesLoaded, 500, stream_ns);
function checkBytesLoaded(my_ns:NetStream) {
//进度值设置 
  var pctLoaded:Number = Math.round(my_ns.sLoaded / my_ns.sTotal * 100);
//动态文本显示进度 
  loaded_txt.text = Math.round(my_ns.sLoaded / 1000) + " of " + Math.round(my_ns.sTotal / 1000) +
" KB loaded (" + pctLoaded + "%)";
//进度条进行缩放 
  progressBar_mc.bar_mc._xscale = pctLoaded;
//加载完成后清除间隔
   (pctLoaded>=100) { 
   clearInterval(loaded_erval);
  }
}
 

 

双击自动滚屏 【打印本页】 【关闭窗口

上篇文章:精彩播放器

下篇文章:强大组合播放器(内含MTV 电视台 可场景切换)

 相关评论:

没有相关评论

 发表评论:

身份选择:会员 游客(游客不需要输入密码)
用 户 名: 密 码:
评论内容:
(最多评论字数:500)
免责声明:本站所有链接均收集自网络免费公开资源,非本站服务器资源,相关权责不由本站负责,若有侵权,请来信告知,本站会24小时内删除! 漫步人生@版权所有 联系方式:E-mail:318516343@QQ.com QQ::38516343 谢谢合作!

邵阳都市枫林(二站) | 设为首页 | 加入收藏 | 联系我们 | 进入管理 | 关于站长 | 本站搜索

联系电话:本站招聘版主 有事在本站留言或加QQ群:251954845 联系人:漫步人生 QQ:318516343

琼icp备09005167