• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • photoshop
  • Fireworks
  • CorelDraw
  • Illustrator
  • Painter
  • Freehand
  • Indesign
  • flash
  • maya
  • autocad
  • 3dmax
您的位置:首页 > 平面设计 >flash > AS的LoaderInfo类控制SWF的大小和播放帧频

AS的LoaderInfo类控制SWF的大小和播放帧频

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-24

佚名 向大家分享了AS的LoaderInfo类控制SWF的大小和播放帧频,其中包含contentloaderinfo,loaderinfo,as3.0加载外部swf,as3.0 加载swf,as3.0调用swf等知识点,遇到此问题的同学们可以参考下
AS3的 LoaderInfo 类为我们加载外部资源提供了更多的可控信息,以前制作SWF播放器的两大难题终于可以得到解决:
* 获得加载SWF的舞台大小以缩放到适合尺寸显示
LoaderInfo 的 width 和 height 属性便是舞台大小。
* 使加载的SWF按自己的帧频播放
LoaderInfo 的 frameRate 属性为加载SWF的帧频,可以修改Stage的 frameRate 属性适应播放。
  做了一个 简单的例子 ,分别加载300×150帧频5和100×150帧频20的两个swf到200×200大小的区域播放,注释写的很详细,就不啰嗦了。
监听加载事件:

代码:
var t_info : LoaderInfo = this.m_loader.contentLoaderInfo;
t_info.addEventListener(Event.COMPLETE, this.onLoadDone);
t_info.addEventListener(IOErrorEvent.IO_ERROR, this.onLoadError);
t_info.addEventListener(ProgressEvent.PROGRESS, this.onLoadProgress);
显示加载进度:

代码:
private function onLoadProgress(p_e : ProgressEvent) : void
{
this.m_loading.progress(p_e.bytesLoaded, p_e.bytesTotal);
}
显示加载的SWF:

代码:
// 隐藏loading
this.m_loading.hide();
// loaderInfo
var t_info : LoaderInfo = this.m_loader.contentLoaderInfo;
// 载入的MC
this.m_mc = t_info.content as MovieClip;
// 载入MC的舞台宽度
var t_stageW : Number = t_info.width;
// 载入MC的舞台高度
var t_stageH : Number = t_info.height;
// 载入MC的实际宽度
var t_mcW : Number = this.m_mc.width;
// 载入MC的实际高度
var t_mcH : Number = this.m_mc.height;
// 是否缩放MC适应显示宽度(载入MC舞台的宽高比是否大于显示区域宽高比)
var t_scaleWidth : Boolean = t_stageW / t_stageH > SHOW_W / SHOW_H;
// 缩放比率
var t_scaleRate : Number = t_scaleWidth ? SHOW_W / t_stageW : SHOW_H / t_stageH;
// 缩放MC
this.m_mc.scaleX = this.m_mc.scaleY = t_scaleRate;
// 显示载入MC的显示范围
this.m_mc.scrollRect = new Rectangle(0, 0, t_stageW, t_stageH);
// 显示载入MC
this.addChild(this.m_mc);
// 调整显示位置
this.m_mc.x = SHOW_X;
this.m_mc.y = SHOW_Y;
if (t_scaleWidth) this.m_mc.y = (SHOW_H - t_stageH * t_scaleRate) / 2;
else this.m_mc.x = (SHOW_W - t_stageW * t_scaleRate) / 2;
// 修改帧频
this.stage.frameRate = t_info.frameRate;
this.fms.text = String(this.stage.frameRate);
// 设置组件
this.sdr.enabled = this.btn1.enabled = this.btn2.enabled = true;
this.sdr.maximum = this.m_mc.totalFrames;
// 监听MC事件
this.addEventListener(Event.ENTER_FRAME, this.onEnterFrame);
另外加了一个 Slider 组件来控制播放,前提是加载的swf必须发布为Player9,As3:

代码:
this.sdr.addEventListener(SliderEvent.CHANGE, this.onChangeSdr);
this.sdr.addEventListener(SliderEvent.THUMB_PRESS, this.onPressSdr);
this.sdr.addEventListener(SliderEvent.THUMB_RELEASE, this.onReleaseSdr);
private function onChangeSdr(p_e : SliderEvent) : void
{
if (this.m_isPressSdr) this.m_mc.gotoAndStop(p_e.value);
}
private function onPressSdr(p_e : SliderEvent) : void
{
this.m_isPressSdr = true;
this.m_mc.stop();
}
private function onReleaseSdr(p_e : SliderEvent) : void
{
this.m_isPressSdr = false;
this.m_mc.play();
}
</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • AS的LoaderInfo类控制SWF的大小和播放帧频

相关文章

  • 2017-05-24Flash实例:漂亮的翻书动画制作(无AS)
  • 2017-05-24Flash相册制作大师具体该如何使用 Flash相册制作大师使用教程
  • 2017-05-24用flash制作太阳出山的卡通效果图
  • 2017-05-24flash cs4怎么制作按钮点击变色的动画效果?
  • 2017-05-24flash怎么绘制黄色小花?
  • 2017-05-24Flash cs6各种补间动画有什么区别? Flash创建补间动画的新手教程
  • 2017-05-24flash怎样改变线条或形状轮廓的形状?
  • 2017-05-24Flash新手鼠绘教程-熟悉鼠绘工具
  • 2017-05-24SWC让AS3代码更不安全
  • 2017-05-24Flash制作光晕变幻的动画效果

文章分类

  • photoshop
  • Fireworks
  • CorelDraw
  • Illustrator
  • Painter
  • Freehand
  • Indesign
  • flash
  • maya
  • autocad
  • 3dmax

最近更新的内容

    • 在flash中如何为元件添加链接?
    • Flash AS3 个性的旋转圆形网页导航
    • Flash矢量插图教程:绘制绿色的小龙与花的插画场景
    • Flash8简单制作酷炫的星空飞越动画特效
    • Flash cs3制作人物行走动画技巧图文解析
    • Flash技巧教程:产品和文字扫光效果的几种方式
    • FLASH CTRL+C SHORTCUT IN IE 快捷键在IE中失效
    • 怎么安装Flash cs3?Flash CS3动画制作软件安装教程
    • 教你如何用Flash Cam制作录制动画
    • flash怎么制种子慢慢发芽导成花苗的动画?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有