当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > MX中如何实现swf文件的完美跳转

Flash动画制作
Flash CS3教程:墨水瓶工具创建轮廓线
Flash绘画技巧:绘制切开的西瓜和咸鸡蛋
Flash动画制作技巧:高级的阴影技巧
Flash CS3技巧:直接导入PSD文件编辑
Flash绘画技巧:透视和层次效果的阴影
Flash绘画技巧:投影滤镜设置阴影
Flash动画技巧:flash制作同步特效
Flash旋转复制和对齐工具绘制齿轮图标
Flash角色绘画技巧:绘制人物头像
Flash摄像头游戏课件的设计与实现
Flash技巧:PNG非透明区域为mask
Flash动画技巧:边缘模糊的mask
Flash遮罩让图片流动起来
Flash绘制:云层,海鸥,椰树,帆船,伞,椅子,日光
Flash鼠绘新手入门:金属花朵装饰的相框
网页中嵌入flash的最佳方案
Flash动画漫画人物的基本形变研究
Flash CS4基础(4):3d动画特效
Flash CS4教程:3D旋转和3D位移
Flash制作变化的模糊和拉伸产生超酷动画

Flash动画制作 中的 MX中如何实现swf文件的完美跳转


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 27 ::
收藏到网摘: n/a

使用 loadMovieNum 动作将影片加载到 Player 中以后,必须使用 _leveln 属性来定位这些影片.level0 中的影片为所有随后加载的影片设置帧频、背景色和帧大小。那么level0 必须是独立存在的.也就是不能将其unloadMovie(level0)了.不然播放器中什么也没有了(播放器中右键你会看到"没有加载影片"),而且所要控制的SWF必须提前加载进来)这就要给一个按钮指定两个事件动作.(加载及跳转)

即从1.swf中的某一帧跳转到2.swf中的某一帧(用按钮)(MX版)。

我试过在1.swf中的最后一帧的一个按钮中加上如下AS:

on(realease){
unloadMovie("1.swf");
loadMovie("2.swf",0);

gotoAndPlay("场景 2",1); // 这里指2.swf中的场景2第1帧。}

问题1:unloadMovie("1.swf");这一句无用.(不起任何作用.)

参见:unloadMovie(level/"target")的用法.

问题2:l你是在1.SWF中加载2.SWF.1.SWF就相当于level0,可你按下按钮后就执行LoadMovie("2.swf",0);加载2.swf并设深度为0(也就是使它成为level0),执行到这一句后.在该语句之后的所有语句全部不起作用了.(因为2.swf已经把1.swf替换掉了.).

问题3:影片发布后(编译后),已经不存在场景的概念了.多场景将按照它们在场景面板中的顺序转换成一个长长的时间轴.gotoAndPlay("场景 2",1); 将会被替换成gotoAndPlay(n);(n是根据场景1计算出场景2的实际帧号 如:场景1有18帧.那么场景二个第一帧的帧号为19*/)

因为要控制加载的SWF文件.那么必须在控制前加载它,所以加载与控制跳转.要分为两步来进行.也就是给按钮分配两个事件动作.

on (press) {
loadMovieNum("2.swf", 1);/*加载2.swf,设其深度为1,因为此时1.swf的_level为0,我们要用它来控制加载及跳转.*/
_level0._alpha=0 ;//按下钮后暂时让1.SWF不可见.(为了美观)}
on (release) {
_level1.gotoAndStop(19);//2.swf中的场景2第一帧的实际帧号.
_level0._visible = 0;/*将1.swf内容设为不可见,(可以删除这句看一下可见下的情况),你会发现有什么问题呢?呵呵,是不是1.SWF里的按钮还在起作用?*/
}