基于Flash的积件技术研究
2014-09-13吕光金芮廷先陈丽燕
吕光金, 芮廷先, 陈丽燕
(1.上海财经大学 浙江学院信息管理系,浙江 金华 321015; 2.上海财经大学 信息管理与工程学院,上海 200433)
运用计算机辅助教学,可以创新教学形式,丰富教学资源,解决传统教学中存在的困惑与不足,尤其是在仿真和模拟各种复杂环境及存在安全隐患的教学场景时能起到不可替代的作用.但是,教师在课件的开发与应用中,也发现了不少问题:一是由于开发工具的选取不当,导致制作的课件容量大、交互性差,不适合远程教学;二是课件一般都是针对特定的教学内容设计与制作的,一旦制作完毕,就不易修改,不能适应变化的现实课堂教学.这使得课件在教学活动中有很大的局限性,不利于个性化的学习与创造性的发挥,在实际应用中教学效果往往不佳.
针对传统课件的不足,黎加厚教授提出了学校计算机辅助教学的新思维——积件[1].文献[2-5]对积件的思想、理论依据、体系架构等进行了深入的研究.积件思想的提出,为CAI提供了新的思路和方法,文献[6-8]在多门学科中进行了研究与实践,并基于Authorware,Dreamweaver,Flash,C#,图形加工类软件(如Photoshop,3DS,Animator)、声音加工类软件(如WaveStudio,Cakewalk)等进行开发.但是,关于Flash平台下实现积件组合的研究并不多见.本文分析了Flash开发积件的优势,提出了在Flash平台中实现积件组合的3种方法.
1 积件研究
1.1 积件的概念
积件系统是教师和学生根据教学的实际需要,运用教学策略科学组合教学资源形成课件的一个软件系统[1].一般认为,它由积件组合平台与积件库构成[1].积件库包括多媒体教学资料库和微课件库,多媒体教学资料库包括文本、图形、动画、音频和视频等各种素材.积件的最大特点是重用性、开放性和可积性[2].积件的组合过程类似于搭积木游戏,不同的游戏参与者可以搭建出不同的图形.不同的教师根据其教学策略组合的课件内容、显示顺序、教学重点等都不一致.随着教学情境的不断变化,专业人员或教师可以不断地更新积件库,以便组合出更多符合个性化教学的课件.
1.2 积件设计原则
积件的设计与开发可能由不同专业人员共同完成,因此,各开发成员必须遵循一定的设计原则.积件设计的原则有知识完整性、单一性、一致性和多样性[3].为了使组合的课件更规范,还应该约定统一的界面、色调、公式、导航链接等.
1.3 积件组合平台
积件组合平台是用来组合积件库中的积件并最终生成CAI课件的软件环境[1].现有的一些多媒体课件开发软件都能实现该功能,理论上都可以成为积件组合平台.但是,直接选用这些软件作为积件组合平台,将与传统的课件制作没有什么区别,也不能给其他学者提供有价值的参考.如果能够选用这些工具进行二次开发,建立一个积件组合平台的简易模板,供教学人员使用,应该是比较科学的做法.
1.4 积件式CAI教学模式
第一代多媒体CAI课件的制作一般由设计者和制作者共同完成,但在现实的课堂教学中,更多的是一线教师独立完成制作并使用.它由项目需求分析、教案设计、脚本编写、素材准备、课件制作与集成、课件测试等环节组成,一旦制作完毕封装后就不易修改,形式、教学策略和播放顺序等固定.本文所述的积件组合生成的课件属于第二代课件.它由教学人员根据积件的完整性、单一性原则将知识点分解,结合一定的教学策略,然后由专业人员开发积件组合平台并制作相应的积件(微课件),最后,教学人员根据自身的教学策略组合出不同的课件应用于教学.这种积件式CAI教学模式如图1所示.
图1 积件式CAI教学模式
积件库的内容可以是网页形式的文件、PPT形式的文件、视频文件、Authorware文件以及exe,txt等形式的文件,也就是在积件平台中能够被识别和调用的文件.为了确保设计的软件小巧灵活、交互性强、适合网络教学,从积件的一致性原则出发,建议选用Flash软件制作swf文件形式的积件,将视频文件转换成mp4或flv形式的流媒体文件.
2 Flash积件技术研究
2.1 Flash开发积件优势分析
Flash是一个非常受欢迎的矢量绘图和动画制作软件,目前已经成为人们制作多媒体课件的首选工具.用Flash开发积件具有强大的优势.
1) 使用Flash可以制作出一种容量很小的高质量矢量图形和交互性极强的网页动画.Flash动画文件能单独成为网页直接在IE中播放,也可以插入到HTML中或被Authorware和Director等软件导入使用,还可以独立成为多媒体课件.
2) Flash具有强大的动态修改与交互功能.例如,文本格式有3种:静态文本,可在课件制作时输入文字;输入文本,可在课件运行时输入文字;动态文本,可在课件运行时动态生成文字或改变文字.
3) Flash提供了多种UI组件,对教学策略提供了强大的支持功能[9],可以灵活设计内容的显示、顺序、跳转位置.利用UI组件可以轻松完成填空、连线、选择、拖放、判断等类型测试题目的制作,学习者可以自主选择内容进行学习,系统能及时检验、统计和反馈练习情况.
4) Flash具有友好的接口功能.它有强大的ActionScript3(简称AS3)脚本语言功能,可以很方便地调用其他形式的积件;它能够在文件之间传递数据,能与其他脚本语言进行数据转换,并能支持使用XML.
2.2 Flash积件组合技术
2.2.1 多项选取列表
多项选取列表的设计,类似于多项选择题的设计.在系统设计过程中,将所有积件的标题以目录索引的方式呈现给教学人员,让其自由浏览,然后对感兴趣的内容进行选取,系统根据教学人员选取的内容生成动态的课件.在设计多项选取列表时,主要用到了ComboBox,List和CheckBox这3种组件.
2.2.2 XML动态实现菜单方式
XML是一种把数据表示为文本字符串的语言,字符串中包括用于描述数据的散布的“标记”.现在,XML已经成为Internet应用程序中交换结构数据的标准[10].XML类似于HTML,利用XML可以在Flash课件中结构化地存储信息,如文本内容、图片信息、菜单内容、用户信息和文件管理等.在Flash中读取XML的内容,与调用图片或声音的方法相似,必须先定义路径、请求和加载容器等过程.
图2 Flash与外部数据交换的两种方式
如图2所示,在XML出现之前,Flash与外部数据的交换必须通过数据库实现,并需要使用ASP,PHP或JSP等软件进行对接;当XML出现之后,Flash与外部数据的连接或交换变得更加方便,Flash对XML数据文件的访问是通过XML类来实现的.
菜单是最常见的一种交互方式,因为可以折叠或伸缩,能够有效地节省课件的展示空间,所以在课件中被广泛应用[9].在积件式的课件设计中,由于教学策略、教学对象、教学情境的不同,教师组合的课件内容和课件菜单也将不同.为了方便教师修改课件菜单,可以运用XML文件来动态生成和控制菜单项的内容.教师在编辑菜单项的内容时不必修改Flash源文件,只需修改XML文件即可.
下面以大学课程《Flash动画设计》为例,分析如何运用XML文件来动态生成菜单项.实现过程分两步:第一步,由专业人员设计menu.xml文件,教学人员只需修改menu.xml文件中“name”和“src”的值即可;第二步,在Flash平台中编写具体代码,这由专业人员完成,与教学人员无关.
新建一个menu.xml文件,一级菜单用1stLevel节点控制,二级菜单用2ndLevel节点控制,层级用levelNumber属性控制,具体代码如下:
<1stLevel name="补间动画" src="#" levelNumber="1">
<2ndLevel name="补间动画的原理" src="bjdhyl.swf"
levelNumber="2">2ndLevel>
<2ndLevel name="补间动画的实例" src="bjdhsl.swf"
levelNumber="2">2ndLevel>
1stLevel>
<1stLevel name="遮罩动画" src="#" levelNumber="1">
<2ndLevel name="遮罩动画的原理" src="zzdhyl.swf"
levelNumber="2">2ndLevel>
<2ndLevel name="遮罩动画的实例1" src="zzdhsl1.swf"
levelNumber="2">2ndLevel>
<2ndLevel name="遮罩动画的实例2" src="zzdhsl2.swf"
levelNumber="2">2ndLevel>
1stLevel>
新建一个Flash的文档,添加AS代码层,进行读取XML文件生成动态菜单的代码编写,主要代码为:
System.useCodepage=true;
var menuXML:XML=new XML;
var XML-URL:String="menu.xml";
var menuXMLURL:URLRequest=new URLRequest(XML-URL);
var myLoader:URLLoader=new URLLoader(menuXMLURL);
var i:Number=0;
var j:Number=0;
myLoader.addEventListener("Event.COMPLETE",xmlLoaded);
function xmlLoaded(event:Event):void {
menuXML=XML(myLoader.data);
readXML(menuXML);}
//读取XML内容生成菜单项按钮
function readXML(node:XML):void {
for each (var element:XML in node.elements()) {
i=parseInt(element.@levelFlag);
j++;
drawButton(element.@name,i,j,element);
readXML(element);
}}…
//对菜单项按钮单击时进行导航
btnNow.mouseChildren=false;
btnNow.addEventListener(MouseEvent.CLICK,function onrel(){;
navigateToURL(new URLRequest(element.@src));
});…
运行程序,生成的动态菜单项如图3所示.单击菜单项按钮,将调用相应的积件进行教学.
图3 读取menu.xml文件生成的动态菜单
2.2.3 积件组合平台与图标调度方式
文献[1]提出了积件平台的设计思想,指出可以从一些优秀的多媒体软件(如Powerpoint,Authorware)中吸取素材,如对象的链接与嵌入、图标的调度方式、向导以及模板的思想等.在Flash平台中实现积件的组合,可以运用积件组合平台结合图标的调度方式.积件组合平台至少应有3个功能:一是能够预览并播放积件库中的积件;二是能够动态地增加外部积件,并能方便地进行网络链接导航;三是有供教学人员组合的快捷图标,通过拖动图标即可组合积件生成课件.
下面以《Flash动画设计》的“遮罩动画”这一章为例,用Flash平台开发一个简易的积件组合平台.
1) 将“遮罩动画”这一章知识点进行分解,根据教学人员的设计需求,由设计人员制作成各个积件,纳入积件库.
2) 设计人员设计好课件界面,然后将积件库的各个积件在Flash平台中制作成相应的图标,按统一规定命名并纳入flash播放文件内置的元件库中,如tb01,tb02,…,tbn.这些图标必须经过编程后放到组合课件的初始界面上.编程主要实现如下功能:当鼠标放在图标上时有相应的提示与帮助;当鼠标按下图标时,用户可以任意地拖动并组合图标;当单击时能调用相应的积件进行播放预览.例如,在“闪闪红星”图标上的编程为:
on (rollover) {setProperty("/helptb01",-alpha,100);}
on (rollout) {setProperty("/helptb01",-alpha,0);}
on (release) {stopDrag();}
on (press) {if (-root.-currentframe==1){startDrag("/tb01");}
else {loadMovieNum ("积件-闪闪红星.swf", 1);}}
当需要调用的积件类型不一致时,对于元件库中的图标要进行不同的编程.例如,要调用Flash制作的实例演示积件(即.swf文件),则在该图标上编程为:
on (release) {loadMovieNum ("具体的文件名.swf",1)};
要调用其他视频和动画形式的积件,则在该图标上编程为:
on (release) {FS Command (“exec”,“调用程序的具体路径”)};
要调用外部文本文件定义的变量,如选择题、填空题时,则在该图标上编程为:
on (release) {Loadvariables(“具体题目文件名.txt”)};
要调用外部的任意网页形式的积件,则在该图标上编程为:
on (release) {GET URL (“具体的网址”)}.
3) 在组合界面中,教学人员拖动相应的图标到指定目标区,如图4所示.点按“组合课件”按钮,进入到课件播放界面;选取课件播放界面中的按钮,将实时导入相应积件进行教学.
图4 积件平台组合界面
2.3 3种积件组合技术的比较
从使用者(教学人员)角度来说,多项选取列表的方法最易使用,因为使用者不需要修改任何程序和积件,直接在列表中勾选所需内容即可播放课件.运用XML生成动态菜单的方法最难,使用者需要修改XML程序中相应的“name”和“src”值.运用积件组合平台生成课件的方法最直观、简捷,因为它不仅具有积件的浏览功能,而且动态组合课件的过程容易理解.
对于开发者来说,多项选取列表的方法比较容易实现,但是,积件的开放性与灵活性不高,当要增加新的积件时,不仅要修改组件,而且还要进行AS3代码编写.运用XML动态生成菜单的方式,虽然在开发时技术难度大,但是其开放性好,使用者可以任意扩展、任意组合积件,而且还可以应用于其他学科,它相当于提供了一个积件组合的模板文件.
一线教师使用后普遍认为,运用组合平台结合图标调度方式组合课件方便、灵活,且最易理解;但是,积件组合的优势不如XML动态生成菜单方式,尤其是在开放性和扩展性上.可见,第二代课件的出现,即将积件思想应用于多媒体课件开发,使得课件朝开放性、重用性、可积性发展,解决了第一代多媒体课件的部分不足,教师可以动态的组合课件、增加和调用外部积件,实现了个性化的教学.
参考文献:
[1] 黎加厚.从课件到积件:我国学校课堂计算机辅助教学的新发展[J].电化教育研究,1997(3):10;1997(4):50;1998(1):69.
[2] 严剑.积件从理论走向实践的新思路[J].中国电化教育,2000(6):8.
[3] 郑明辉,周慧华.基于WFMS的多媒体远程教学课件设计的实现[J].微计算机应用,2003,24(3):151.
[4] 王旭卿.积件系统设计之我见[N].计算机世界,1997-10-13(D11).
[5] 黎加厚.积件的组成、特点及开发[N].计算机世界,1997-10-13(D11).
[6] 赖梅.基于积件理论的网上CAI设计模式探讨[J].计算机工程与应用,2003(15):131.
[7] 曹丽华.Flash动画在课件制作中的应用[J].吉林师范大学学报:自然科学版,2011(4):141.
[8] 吕光金.基于建构主义理论的积件式CAI设计模式的研究[J].福建电脑,2011(9):122.
[9] 孙方,苏仰娜,王慧.Flash课件制作技术精粹[M].北京:电子工业出版社,2012:255-265.
[10] Graves M.XML数据库设计[M].尹志军,等译.北京:机械工业出版社,2002:1-2.