在Flash课件中正确调用SWF文件 |
作者:不详 来源:多啦网 发布时间:2005-3-26 |
我们都知道,SWF文件是Flash输出的标准文件格式之一,它的应用十分广泛,在PowerPiont、Authorware等软件中都可以轻松调用。那么如何在Flash中使用SWF文件呢?本文将为大家详细介绍相关的技术。 为何要调用SWF文件 SWF文件的调用及控制 第1步 启动Flash Mx 2004,使用绘图工具箱中的工具绘制界面,并添加一些文字。分别按“Ctrl+F8”创建所需要的按钮,然后拖放到界面的合适位置。按“Ctrl+F8”创建一个名为“SWF”的影片(MovieClip),里面不进行任何设置,然后按“Ctrl+L”打开Library库,将SWF影片拖放到场景中,并将其中心点和灰色区域的左上角重合,再单击〔Properties〕(属性)按钮,将其“Instance Name”设置为“swf”,最后保存文件到某个文件夹(注意:所调用的SWF也要放置在这个文件夹中,否则将不能调用,如果原SWF文件设置了背景色,在调用时都会自动去除成为透明色)。 第2步 为场景的第1帧添加如下Actions语句: fscommand("fullscreen", true); //设置课件全屏播放。
fscommand("allowscale", false); //当课件窗口大小改变时,课件中的内容保持原有尺寸。 loadMovie("片头动画.swf", "swf"); //调用片头动画到影片SWF中。 movie_sound = new Sound(swf); //捆绑影片SWF中的声音文件。 movie_sound.setVolume(50); //设置影片SWF中音乐的音量为50,最高是100。 yinliang = movie_sound.getVolume(); //设置变量yinliang,使其值与影片SWF的音量相等。 第3步 为场景右侧的文字按钮加上Actions 语句,“片段一”按钮的语句如下: on (release) { unloadMovie("swf"); //将SWF影片中的原有内容清除。 loadMovie("片段一.swf", "swf"); //调用片段一文件至SWF影片中。 } “片段二”按钮的语句如下: on (release) { unloadMovie("swf"); loadMovie("片段二.swf", "swf"); } 其余的几个文字按钮的语句与上面类似,只需要改变调用文件的名称即可。 第4步 下面分别来设置控制按钮的Actions语句: “播放”按钮: on (release) { root.swf.play(); }//当单击该按钮时,当前场景中的SWF影片播放。
“暂停”按钮: on (release) { _root.swf.stop(); }//当单击该按钮时,当前场景中的SWF影片暂停。 “快退”按钮: on (release) { if (_root.swf._currentframe>=40) { _root.swf.gotoAndStop(_root.swf._currentframe-40); //当单击该按钮时,如果当前帧大于或等于40时,场景中的SWF影片从当前帧处减去40帧,实现快退,这里的40可根据具体情况设置。 } else { _root.swf.gotoAndStop(1); //否则SWF影片跳转到第1帧。 } } “快进”按钮: on (release) { _root.swf.gotoAndStop(_root.swf._currentframe+40); }//单击该按钮,SWF影片从当前帧加上40帧,从而实现了快进。 “回到开头”按钮: on (release) { _root.swf.gotoAndStop(1); } “跳到结尾”按钮: on (release) { dangqianzhen = _root.swf._totalframes; //设置变量dangqianzhen的数值等于SWF影片的总帧数,即最后一帧。 root.swf.gotoAndStop(dangqianzhen); //让SWF影片跳转到最后一帧。
} “增大音量”按钮: on (release) { if (_root.yinliang<=90) { _root.yinliang = _root.yinliang+10; _root.movie_sound.setVolume(_root.yinliang); //如果当前音量的数值小于或等于90就加上10,然后设置SWF影片中的音乐音量为增加后的值。 } else { _root.movie_sound.setVolume(100); //否则设置音量为100,这是最大音量。 } } “减小音量”按钮: on (release) { if (_root.yinliang>=10) { _root.yinliang = _root.yinliang-10; _root.movie_sound.setVolume(_root.yinliang); //如果当前音量的数值大于或等于10就减去10,然后设置SWF影片中的音乐音量为减少后的值。 } else {
_root.movie_sound.setVolume(0); //否则设置音量为0,这样就没有声音了。 } } 最后在课件发布时,一定要把所有的SWF文件都放置到同一个文件夹中,否则在使用课件时,会提示调用的SWF文件找不到。 特殊SWF文件调用技巧 1. SWF文件的尺寸不符合:当调用的SWF文件的尺寸大于或小于显示区域时,我们可以通过设置SWF影片的坐标和尺寸实现精确定位。语句示例如下: _root.swf._X=0; _root.swf._Y=0;
//设置SWF影片横坐标和纵坐标的数值,可根据具体情况设置。 _root.swf._width =340; _root.swf.._height = 300; //设置SWF影片长度和宽度的数值,可根据具体情况设置,单位为像素。 _root.swf._xscale=50; _root.swf._yscale=50; //设置SWF影片纵横比例为原来的二分之一,默认的原尺寸为100,可根据具体情况设置。 2. 只需要SWF文件中的一部分:当调用的SWF文件中的前一部分我们不需要,可以在使用loadMovie调用时,加上一句语句:_root.swf.gotoAndPlay(150)(假设从150帧处是我们需要的内容)。当SWF文件的后一部分不需要时,我们只需要在播放到该部分时,让影片暂停即可。其实当SWF文件加载到影片中的时候,影片的所有控制语句都可以用来对SWF文件进行控制,如:透明度(_alpha),角度(_rotation)等。 3. SWF文件中有特殊标志:一些SWF文件中的某个位置可能会有单位或作者的标志,在调用时会影响课件的整体效果。此时可以在SWF影片所在层的上面再增加一个新层,然后在新层中对应的位置绘制自己的标志遮挡原有的标志,如果原有的标志是运动的,绘制的标志也应进行相应的运动。 |
联系客服