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

合并不同帧频(fps)的Flash文件

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

佚名 向大家分享了合并不同帧频(fps)的Flash文件,其中包含合并不同帧频(fps)的Flash文件等知识点,遇到此问题的同学们可以参考下
  Flash中要合并不同帧频(fps)的文件的确问题是一个令人困扰的话题,因为Flash本身并不提供任何动态改变帧速的函数。   也无法写一个通用函数来达到这一目的。但凡事只要开动脑筋,总有解决办法。下面我们分情况讨论。
  一. 需要合并的几个flash文件完全独立
  在大多数情况下,如果只需要把这些swf文件串起来逐一播放,不需要进行嵌套,单纯让每段swf按照它自己的速度播放,是完全可行的,只需要加少量脚本。
  例如:你有3个swf文件,分别命名为:movie.swf,movie1.swf,movie2.swf。
  只需要在movie.fla的最后一帧加上一句脚本:loadMovieNum("movie1.swf", 0);
  在movie1.fla的最后一帧同样加上一句脚本loadMovieNum("movie2.swf", 0)。
 
  注意,使用这种方法时,如果在动画的最前面加了loading脚本,它检测的载入是否完成只是针对第一段,如果需要检测所有片段是否已经载入,需要更复杂的脚本。
  二. 合并的flash文件需要进行嵌套播放
  这种情况比较麻烦,因为试图找出一劳永逸的方法似乎是不可能的。只能改啊改的,我讨厌重复劳动。
  假设子体只包括跳转语句(stop、play、gotoAndStop、gotoAndPlay)。母体需要加如下代码:
///////在第一帧插入如下代码////////
MovieClip.prototype.c_stop = ASnative(900, 13);
MovieClip.prototype.c_play = ASnative(900, 12);
MovieClip.prototype.c_gotoAndStop = ASnative(900, 17);
MovieClip.prototype.c_gotoAndPlay = ASnative(900, 16);
//重构跳转函数
MovieClip.prototype.stop = function() {
this.stop_boolean = true;
this.c_stop()
};
MovieClip.prototype.play = function() {
this.stop_boolean = false;
this.c_play()
};
MovieClip.prototype.gotoAndStop = function(n:Number) {
this.stop_boolean = true;
this.c_gotoAndStop(n)
};
MovieClip.prototype.gotoAndPlay = function(n:Number) {
this.stop_boolean = false;
this.c_gotoAndPlay(n)
};

//子体播放函数
function childRun(target_mc:MovieClip) {
if (!target_mc.stop_boolean) {
target_mc.nextFrame();
if (target_mc._currentframe == target_mc._totalframes)
}
// 递归检查子MC
for (i in target_mc) {
if (target_mc._name)
}
//下面这句话很重要,它使你的高速动画能得到及时刷新,但相应的也提高了CPU的负载
updateAfterEvent();
}

//加载侦听器
var mclListener:Object = new Object();
//当子体载入完成时,停止子体并控制其播放
mclListener.onLoadComplete = function(target_mc:MovieClip) {
clearInterval(child_val);
child_val = setInterval(childRun, fps, target_mc);
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);

///////在需要加载子体的位置插入如下代码////////
//子体的宿主
this.createEmptyMovieClip("子体", this.getNextHighestDepth());
//如果需要载入的swf帧速是60,那么fps=1000/60
var fps:Number = 1000/60;
image_mcl.loadClip("子体.swf", 子体);

  接着看一下子体文件,假设某帧上原来有下面的函数:

stop();
play_btn.onRelease = function() ;
gotoAndStop_btn.onRelease = function() ;
  需要把它们进行一下改造,把所有缺省调用的跳转语句改成"mc. 跳转语句"的方式:

this.stop();
play_btn.onRelease = function() ;
gotoAndStop_btn.onRelease = function() ;
  注意:别忘了改造子体中所有含有跳转语句的脚本(nextFrame和prevFrame不用改),如果子体含有onEnterFrame程序,请改成SetInterval方式。如果你的子体在某一帧包括的MovieClip超过了256个,会出现递归溢出的错误。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

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

相关文章

  • 2017-05-24控制Flash8里的flvs视频播放停止
  • 2017-05-24flash形状补间动画怎么才能更流畅?
  • 2017-05-24Flash绘制切开的西瓜和咸鸡蛋之渐变绘画技术介绍
  • 2017-05-24Flash CS4教程:详细解析抓喜鹊游戏教程
  • 2017-05-24Flash实例教程:吹泡泡动画特效
  • 2017-05-24flash cs6怎么使用图形元件?
  • 2017-05-24flash绘制七巧板拼合的动画效果
  • 2017-05-24Flash CS4打造星光四射的莲花实例教程
  • 2017-05-24Flash AS3代码绘制旋转的3D立体菜单动画效果
  • 2017-05-24Flash 脚本游戏开发教程第二课

文章分类

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

最近更新的内容

    • Flash cs4文字颜色缓动特效代码解析
    • flash绘制七巧板拼合的动画效果
    • Flash教程:引导线制作爱心图案动画
    • FLASH模拟履带行走方法图解
    • Flash遮罩层怎么用?Flash遮罩层的用法
    • Flash实例教程:吹泡泡动画特效
    • Flash AS 入门 “for”循环语句应用
    • ActionScript使用正则表达式示例
    • Flash AS 入门 “影片剪辑”属性调整及路径解析
    • 教你如何用Flash制作30秒倒计时动画

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

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