在Flash课件中正确调用SWF文件

 我来答
哲哥聊历史2333
2023-02-17 · TA获得超过4757个赞
知道小有建树答主
回答量:2248
采纳率:100%
帮助的人:139万
展开全部
我们都知道,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)等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式