怎么做才能用FLASH编辑swf文件?
发布网友
发布时间:2022-04-21 22:22
我来回答
共1个回答
热心网友
时间:2023-07-13 10:12
我们都知道,SWF文件是Flash输出的标准文件格式之一,它的应用十分广泛,在PowerPiont、Authorware等软件中都可以轻松调用。那么如何在Flash中使用SWF文件呢?本文将为大家详细介绍相关的技术。
在使用Flash制作课件时,常常需要使用一些现成的SWF文件,通过Flash中的导入命令使用SWF文件,会彻底破坏原有的文件结构。另外,对于大型的课件,我们可以进行分组合作,然后通过调用SWF将课件组合起来,这样可以减小课件主文件的体积,也便于整体合作制作大型课件。
SWF文件的调用及控制
下面我们通过介绍课件《只有一个地球》(如图所示)的制作方法,来学习调用并控制SWF文件。在图中,灰色部分的尺寸为340×300(像素),这部分就是SWF文件的播放区域。右侧是文字按钮(如:片段一、片段二……),它们是SWF文件的调用按钮,下方是SWF文件的控制按钮,从左往右可以实现的功能有:播放、暂停、快退、快进、回到开头、跳到结尾、增加音量和减小音量。在课件的存放目录中有6个SWF文件,它们是被调用的文件,名称分别为:片段一、片段二、片段三……这些文件的场景尺寸跟灰色部分一样大,都是340×300(像素),另外还有一个片头动画名为:片头动画.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文件调用技巧
并不是所有的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)等。