注册通行证 用户名 密码
  • 文章投稿
  • 博客
  • 论坛
  • 设为首页
  • 加入收藏
jztop.com网络技术
  • 首页
  • | iT新闻
  • | 操作系统
  • | 组网建网
  • | 网络安全
  • | 程序开发
  • | 办公一族
  • | 工具软件
  • | 网页制作
  • | 多媒体制作
  • | 网吧技术
  • | 服务器
  • | 专题教程
Vista | 软件评测 | 系统备份 | 优化 | 进程 | 聊天 | 病毒 | Linux | 黑客 | 防火墙 | 数据库 | Web开发 | Java | Word | 游戏 | 32位开发 | 移动开发
当前位置:首页 > 多媒体制作 > Flash 内容正文:Flash 实用编程解读

Flash 实用编程解读

发布时间:2006-10-16 21:11:00 来源: 网友评论 0 条

简介:
    网络中的swf影片是可以实现边下载边播放的,由于受到当前网络传输的制约,对于大容量的影片,这种实时播放并不理想。为避免受众尴尬的等待,flash制作人员往往设计一个加载(loading)的画面,等影片的全部字节下载到本地后再播放,从而保证影片的播放质量.

步骤:
1.打开Flash MX 2004,选择矩形工具,在主场景中画出下一个只有边框有矩形,本例该矩形大小为350*16像素。
2.再在主场景中仍用矩形工具画出一个只有填充而无边框的矩形,并按F8键将其转换为影片剪辑(注:其注册点一定要选在该矩形的最左侧),其实例名为bar 。本例该矩形大小为345*11像素。
3.将上述两矩形在主场景中排列好,使边框矩形嵌套填充矩形。
4.在上述两矩形旁边用文字工具拖出一动态文本框,其变量名为bar_per。

至此,准备工作就绪,即建立了两矩形框和一动态文本框,下面准备编写代码。

5.在主场景中,新建一层,选中该层第1帧,按F9键打开动作脚本编辑窗口,输入以下代码 :

this.onLoad=function(){ 
myBytesTotal=_root.getBytesTotal(); 
} 
 this.onLoad(); 
 this.onEnterFrame=function()
 { 
 myBytesLoaded=_root.getBytesLoaded(); 
 bar_xscale=myBytesLoaded/myBytesTotal*100; 
 percent=Math.round(bar_xscale); 
 this.bar._xscale=bar_xscale; 
 this.bar_per=percent+"%"; 
 if(myBytesLoaded==myBytesTotal){ 
delete this.onEnterFrame; 
 _root.nextFrame(); 
 }else{ 
this.stop(); 
 } 
 }

6.从主场景时间轴第2帧起制作你的flash影片。

注解:
①

this.onLoad=function(){ 
myBytesTotal=_root.getBytesTotal(); 
          }

此段代码是指,当影片剪辑(本例指两矩形和一动态文本框所存在的主场景)加载时,读取主时间轴存在的所有元素的总字节数并赋值给变量myBytesTotal。

②


this.onLoad(); 
flash事件处理函数MovieClip.onLoad=function(){…}
有些奇怪,其中设置的代码,若不在后面加上this.onLoad()
这些代码并不能执行,因此加上这一句以便这些代码得以执行。
③
myBytesLoaded=_root.getBytesLoaded();//读取主时间轴存在的所有元素已加载的字节数,并将其赋值给变量myBytesLoaded。
④
bar_xscale=myBytesLoaded/myBytesTotal*100;//将myBytesTotal折算成100时,
          myBytesLoaded所得到的折算值赋给变量bar_xscale,
 以便给主场景中bar的_xscale赋值(_xscale的最大值只能为100)。
这里用到了初等数学的比例计算。

⑤

percent=Math.round(bar_xscale);//将变量bar_xscale的值取整后赋给变量percent,以便显示的百分比不带小数。
  }

拓展:
1.“下载速度”的代码设计
①在主场景中用文字工具拖出有适当宽度的动态文本框,并设其变量名为rate 。
②在主场景代码层第1帧this.onEnterFrame=function(){}代码体if语句前追加如下代码:

t=getTimer();
rate= "下载速度:" + Math.round(myBytesLoaded/t * 100)/100 + " K/s";

2.“已用时间和剩余时间”的代码设计
①在主场景中用文字工具拖出有适当宽度的动态文本框,并设其变量名为mytimes 。
②在主场景代码层第1帧this.onEnterFrame=function(){}代码体if语句前追加如下代码:


 
timeLoaded=Math.round(t/1000); 
 timeRemain=Math.round(timeLoaded*(myBytesTotal-myBytesLoaded)/myBytesLoaded); 
 timeRemain=Math.round(timeRemain/60)+":"+Math.round(timeRemain%60); 
 timeLoaded=Math.round(timeLoaded/60)+":"+Math.round(timeLoaded%60); 
 mytimes="已用时间"+timeLoaded+" "+"剩余时间"+timeRemain; 
注:若“下载速度”的代码没有设计,则上述代码前应追加代码 t=getTimer();
拓展后主场景代码层第1帧的全部代码如下:
 
this.onLoad=function(){ 
  myBytesTotal=_root.getBytesTotal(); 
 } 
 this.onLoad(); 
 this.onEnterFrame=function(){ 
 myBytesLoaded=_root.getBytesLoaded(); 
 bar_xscale=myBytesLoaded/myBytesTotal*100; 
 percent=Math.round(bar_xscale); 
 this.bar._xscale=bar_xscale; 
 this.bar_per=percent+"%"; 
t=getTimer(); 
rate= "下载速度:" + Math.round(myBytesLoaded/t * 100)/100 + " K/s"; 
timeLoaded=Math.round(t/1000); 
timeRemain=Math.round(timeLoaded*(myBytesTotal-myBytesLoaded)/myBytesLoaded); 
timeRemain=Math.round(timeRemain/60)+":"+Math.round(timeRemain%60); 
timeLoaded=Math.round(timeLoaded/60)+":"+Math.round(timeLoaded%60); 
mytimes="已用时间"+timeLoaded+" "+"剩余时间"+timeRemain; 
if(myBytesLoaded==myBytesTotal){ 
delete this.onEnterFrame; 
_root.nextFrame(); 
}else{ 
this.stop(); 
 } 
 }
相关文章
  • Windows Vista侧边栏天气故障解决办法
  • Photoshop滤镜轻松制作缭绕的烟雾
  • 高手指点 Windows XP中磁盘的分区应用
  • 插件:网页图片刷新工具下载
【评论】【收藏本文】【打印】【关闭】
上一篇文章:动画技巧:漫画人物的鼻子和嘴巴速成指南
下一篇文章:flash载入外部文本设置颜色的问题
讨论区
查看
已有 0 位对此新闻感兴趣的网友发表了看法
匿名发表
注册通行证 登陆
图文阅读推荐
Flash制作关于光的折射和全反射教程
Flash制作关于光的折射和全反射教程
随心所欲 玩转Flash视频——FLV
随心所欲 玩转Flash视频——FLV
Flash制作书法动画
Flash制作书法动画
推荐阅讯
  • 全面革新!Photoshop CS3 最新消息
  • Flash创意特效:别 样 的 绿
  • Flash绘制精致矢量图——斑驳的秋天落叶
  • 学习做FLASH留言本:分页技术
  • FLASH中的移动方法教程和实例集锦
  • 赶紧下载Flash Player补丁弥补致命漏洞
  • Flash创意特效:闪光的文字
  • flash载入外部文本设置颜色的问题
  • Flash播放器参数知多少?
  • 20个Flash制作漂亮动画的经典问题问答
阅读排行
  • 1.利用套接字机制实现Flash与数据库连接
  • 2.FLASH9.0新功能视频体验
  • 3.[视频]Flash 9 Alpha体验:软件安装
  • 4.Flash8绘制秋之落叶
  • 5.Flash制作书法动画
  • 6.Flash互动电子地图制作手册——入门实例
  • 7.随心所欲 玩转Flash视频——FLV
  • 8.[视频]Flash 9 Alpha体验:播放器
  • 9.制作温馨浪漫Flash情人卡
  • 10.Flash软件菜单中英文对照表
专题教程
  • 大话G游 专题:手机病毒揭密
  • ARP攻击防范与解决方案 路由故障处理手册
  • Picasa中文版_Picasa教程 专题:清除流氓软件
  • Firefox专题 seo搜索引擎优化专区
  • 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
  • 杀毒软件反被病毒杀 连"救命"都不能喊
  • 金山ARP防火墙
  • 还原卡神话破灭“机器狗”病毒来势汹汹
  • cctv经济半小时:你的手机现在安全吗?
  • 新挂马方式开始流行 ARP挂马称雄局域网
  • 木马和病毒清除的通用解法
  • IP地址不再冲突 查找ARP攻击者元凶
  • 教你几招识别和防御Web网页木马
  • 分析:封杀BT只是暂时的止痛药
  • QQ爆危险漏洞,“QQ游戏邀请大盗”邀请你玩病
关于我们 | 诚聘英才 | 联系我们 | 版权声明 | 网站大事 | 网站地图 | 意见建议
CopyRight 2005-2007 Jztop.Com 版权所有 未经许可 请勿转载