张蓝春
湖北工业大学
Flash制作多媒体课件交互功能的实现方法
张蓝春
湖北工业大学
本文主要介绍Flash多媒体课件交互功能的实现方法。具体设计思路是:将授课教学内容分成一个主目录课件主控模块和几个子目录内容课件功能模块。利用Flash技术分别设计主课件模块和各个课件功能模块,最后把它们组织起来形成合理的课件交互结构。设计多媒体课件交互功能是制作多媒体课件的一个关键环节。
flash;多媒体;交互帧;场景;函数
多媒体课件的重要特征就是多媒体性和交互性,多媒体性指课件内容是文字、图片、动画、音频视频等多媒媒体整合而成,具有丰富的感染力。交互性指用户可以控制课件的播放、返回,可以实现用户和计算机交互的交流。从而达到控制学习过程的目的,在各种多媒体应用软件的开发工具中,Macromedia公司推出的Flash是功能最强大、使用最广泛的也是最负盛名的多媒体制作软件, Flash不仅是单单一个动画制作软件,它还是一个功能强大的多媒体编著工具,在实现课件的多媒体性、交互性和网络性等方面具有其他软件不可比拟的优势。
下面,以我设计的《flash动画实例教程》多媒体课件交互结构为例,介绍实现Flash多媒体课件交互功能的3种具体方法与相关现象供大家探讨。
这也是最常用的一种方法,将所教学内容分成若干模块,每个模块制作成一个影片剪辑,将每个影片剪辑分别放在主场景时间轴的关键帧上,首先在主时间轴的每一帧上写Stop()函数,使用stop()函数命令控制影片剪辑动画停止,然后通过教学内容交互按钮进行帧的跳转,从而实现课件内容的交互控制。这种方法实现Flash课件的图层结构清晰合理,容易修改。
帧的跳转使用的脚本是gotoAndPlay(帧号)函数,来控制帧跳转并播放。
具体制作思路如下所述:
1)打开flash8,新建一个flash文档,舞台尺寸设置为1024×768像素或者800×600,这两个尺寸大小是多媒体课件制作常用的尺寸,其他属性默认值保持。
2)将授课的课件内容分类几个功能模块,例如:《flash动画制作实例教程》课件,本课件分成了七个视频实例的教程模块和一个主目录模块。实例1、实例2、实例3、实例4、实例5、实例6、实例7,每个实例模块创建一个影片剪辑元件放置本实例的文本教程内容。
3)在“场景1”中新建9个图层,并将所有图层重新命名,从下向上一次是“主目录”、“实例1”、“实例2”、“实例3”、“实例4”、“实例5”、“实例6”、“实例7”和AS图层。
4)在“主场景”图层,通过Potoshop图像处理软件设计背景美化课件,并在主场景中设计7个实例按钮,分别被用来控制课件各个功能模块的交互跳转,这样就形成了一个导航菜单。
5) 在AS图层上,从第2帧到第8帧分别按插入空白关键帧,然后分别在每个帧上编写AS脚本代码:
Stop() //这样可以保证每个影片剪辑不会自动播放
6) 分别选择主目录场景图层上的7个按钮,在“动作”面板编写程序代码:
“实验1”按钮上的程序代码为:
On(press){
gotoAndStop(2)} //当单击按钮时跳转并停止在第2帧课件内容。
“实验2”按钮上的程序代码为:
On(press){
gotoAndStop(3)} //当单击按钮时跳转并停止在第3帧课件内容。
于此类推实例3按钮跳转到4帧,实例4按钮跳转到第5帧等等。
这种方法代码简单、图层结果清晰,适合制作只包含一级课件功能模块的导航结果。
这种方法是利用Flash的多场景设计的,Flash影片文件的层次结构是这样的,一个Flah影片文件可以包括若干个场景,每个场景包含一个主时间轴。利用场景来组织课件中的各个课件模块,不同的课件模块放在不同场景中实现。利用场景跳转函数来实现各个课件模块之间的交互。
场景跳转的脚本是gotoAndPlay(“场景名称”,帧号),一般都是跳转到另一个场景的第1帧。
设计思路如下:
1) 运行flash8,新建一个影片剪辑文档。设置舞台尺寸为800*600或者1024×768像像素,其他属性保持默认值。
2) 执行“窗口”-其他面板-场景命令,打开“场景”面板。在其中单击“添加场景”按钮8次,新增8个场景。将场景名称定义为课件模块相符的名称,这样便于实现场景的跳转控制。场景跳转函数就是通过场景名称这个基本参数实现场景跳转控制。
3) 分别进入到“主目录”场景,“实例1”场景、“实例2”等8个场景中,根据课件内容,在各个场景中实现对应到课件功能模块内容。
4) 在课件主目录控件模块场景中,主要设计一个导航菜单。导航菜单由若干按钮组成,按钮和课件到功能模块相对应。单击导航菜单中到按钮可以进入相应到课件功能模块场景。在每个功能模块场景中设计一个返回到主目录模块的按钮。这些导航按钮上到程序代码到一般形式是:
On(press){gotoAndPlay(“场景名称”,1);} //程序代码到功能是:当单击并释放按钮时,跳转到指定场景名称到场景到第1帧播放。
例如:选取主目录的第一个实例1按钮,在AS窗口编写代码:On(press) {gotoAndPlay(“实例1”,1);} //程序代码到功能是:当单击并释放按钮时,跳转到指定场景实例场景到第1帧上播放。
以此类推实例2按钮跳转实例2的场景上播放,实例3按钮跳转到实例3的场景上播放等等
功能模块场景返回到主目录模块的按钮的代码:
On(press){gotoAndPlay(“主场景”,1);} //程序代码到功能是:当按下按钮时,跳转到主目录的场景第1帧上。
如下图主目录界面和场景界面:
场景跳转使交互结构更加清晰,因为每个场景有单独的时间轴。但是场景跳转也有缺陷,一个单独的场景就是一个单独的动画,如果场景“方法1”和“方法2”有相同的界面,你并不能共享它们,而是必须在每个场景中重新组织。
根据授课教学内容,将教学内容模块制作成独立的Flash影片,并导出成相应SWF文件。例如:课件主目录模块也制作成独立的Flash影片,其中主要设计一个导航菜单。导航菜单由若干按钮组成,按钮和课件的功能模块相对应。单击导航菜单中的按钮,可以载入相应的课件功能模块SWF影片。在每个功能模块影片中设计一个返回到主控模块影片的按钮。主要是利用loadMovie函数实现各个课件模块间的相互调用。
根据课件内容,将各个课件功能模块制作成独立的Flash影片,并导出成相应SWF文件。
loadMovie()用来调用外部flash文件,只能调用flash导出的swf类型的文件。
用法:
loadMovie(url, target [, method])
操作数
url 一个字符串,它指定要加载的SWF 文件的绝对或相对 URL。相对路径必须相对于级别 0 处的 SWF 文件。绝对URL 必须包括协议引用,如 http:// 或file:///。
target 对影片剪辑的引用或者表示指向目标影片剪辑的路径的字符串。用已加载的 SWF 文件替换目标影片剪辑。
method 可选字符串参数,指定用于发送变量的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量,则省略此参数。GET 方法将变量追加到 URL 的末尾,它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量,它用于发送大量的变量。
使用 unloadMovie() 函数可删除用loadMovie() 加载的 SWF 文件。
实例1按钮代码如下所述。
On(press){load Movie(“实例1.swf”,0);}
实例1按钮代码如下所述。
On(press){load Movie(“实例2.swf”,1);}
如果加载不同的影片要设置不同的级别,否则会覆盖原有的影片剪辑。
于此类推实例3按钮级别设置为4级,实例4按钮级别设置为5级等。
方法2:loadMovie("spxz//shili1.swf",kypjj);
这种方法的优点是,课件既较好地实现了模块化课件设计的思想,又使课件具备了很强的网络特性。因为这种类型的课件在播放时,并不把全部的课件模块都装卸到计算机的内存中,只先装卸课件的主控模块,需要时,再课件主控界面上单击控制按钮把其他的课件模块装卸运行。这种方法很适合制作网络型Flash课件,具有广阔的应用前景。
事件证明,模块化程序设计思想运用到媒体课件制作中,使课件制作过程科学化、系统化。本节讨论的三种方法不同程度地实现了Flash多媒体课件制作模块化的设计思路。这3种方法可以单独使用,也可以混合使用,以取得更广阔的设计思路。
[1]繆亮. 多媒体技术实用教程
10.3969/j.issn.1001-8972.2012.10.163
张蓝春(1977-),女,黎族,海南人,湖北工业大学2010级计算机技术,研究方向为多媒体技术。