聚合新闻服务
手机wap浏览
您现在的位置: 中华文秘网 >> 文章 >> 论文大全 >> 学术论文 >> 文章正文

应用Flash动作脚本语言制作多媒体测试课件浅析

作者:佚名 文章来源:不详 点击数: 更新时间:2008-1-2 19:20:09

play();

}

2.2影片剪辑及其事件

Flash动作脚本语言中的onClipEvent动作用于处理电影剪辑事件。该动作的语法格式如下:

onClipEvent(movieEvent);{

//语句

}

其中的movieEvent是一个事件触发器。当事件发生时,执行该事件后{}内语句。对于剪辑而言,可指定的触发事件有9种,其中:

lload:影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。

lunload:在从时间轴中删除影片剪辑之后,此动作在第1帧中启动。在向受影响的帧附加任何动作之前,先处理与Unload影片剪辑事件关联的动作。

lenterFrame:以影片剪辑帧频不断触发的动作。首先处理与enterFrame剪辑事件关联的动作,然后才处理附加到受影响帧的所有帧动作。

lmouseMove:每次移动鼠标时启动此动作。_xmouse和_ymouse属性用于确定当前鼠标位置。

lmouseDown:当按下鼠标左键时启动此动作。

lmouseUp:当释放鼠标左键时启动此动作。

lkeyDown:当按下某个键时启动此动作。使用Key.getCode()获取有关最后按下的键的信息。

lkeyUp:当释放某个键时启动此动作。使用Key.getCode()方法获取有关最后按下的键的信息。

ldata:当在loadVariables()或loadMovie()动作中接收数据时启动此动作。当与loadVariables()动作一起指定时,data事件只在加载最后一个变量时发生一次。当与loadMovie()动作一起指定时,获取数据的每一部分时,data事件都重复发生。

例如,可以给一个电影剪辑分配下面的动作:

onClipEvent(load){

movie_x=this.x;//设定影片剪辑实例的x轴坐标

_root.qi._visible=flase;//将影片剪辑实例先隐藏起来

}

这段代码的功能是:当指定的影片剪辑载入时,初始化设定好实例的x轴坐标,并先隐藏标起来。

2.3UI组件

自从FLASHMX以后,引入了UI组件,使得创建一些应用程序用户界面就比较容易了。特别在FlashMX2004中,提供的UI组件更为丰富,如文本框、复选框、单选钮、组合框、列表框等,同时还提供了一个“组件检查器”面板,使用它很容易对组件实例进行设置和修改。UI组件中的大部分均可接受鼠标Click事件,如在复选框实例中写下代码:

on(click){

trace(“复选框实例被单击”)

}

则单击后,会弹出一下“输出”面板,显示“复选框实例被单击”。

3使用FLASH动作脚本实现多媒体课件的开放性

在使用FLASH制作多媒体课件时,一方面可以使用上述介绍的UI组件,如文本域组件,运用在课件中可以实现即时输入功能,在一定程度上体现了课件的开放性;另一方面,Flash动作脚本语言还提供了一个loadVariables命令,利用该命令程序可以调用外部文本文件中定义的变量和设置变量的值,因此,可以通过编辑修改外部文本文件,达到设置和修改课件内容的目的,实现多媒体课件的开放性。

例如,在制作多媒体测试类课件时,可以把题目文件放在外部文本文件中,使用loadVariables命令将其调用FLASH文件中,通过修改文本文件,就可以实现随时更换测试题的目的。如图1所示:

loadVariables命令动作的语法格式如下:

loadVariables(url,location[,variables]);

动作中的参数url是载入外部文件的绝对或相对URL。URL中指向的主机必须与下载的Flash课件处在同一子域;location是一个可选的参数,用于指定接收变量的层级或目标。variables是一个可选的参数,用于指定发送变量的方法。

4使用FLASH设计测试课件的基本思路

使用FLASH设计测试课件,在设计上应包含出题、评分、反馈等功能,设计算法及思路如图2所示。

如何在FLASH中实现上述流程并充分体现其交互性和开放性?主要采取以下措施:

①使用LoadVariablesNum调用第一道测试题的文本文件,当文本文件的内容调用结束后,动画自动跳转到放置动态文本对象的那一帧,动态文本对象接收文本文件中的测试题目并将它们显示出来。

②在动态文本对象所在的帧上放置“下一题”按钮,在程序运行时,单击该按钮,同样使用LoadVariablesNum命令调入下一道测试题相对应的文本文件,等文件的内容调用结束后,动画自动跳转到放置动态文本对象的那一帧,把下一道测试题目显示出来……依次类推。

③放置“查看答案”按钮,利用脚本编程实现在做任何题时均能够反馈当前的做题情况。放置“终止”测试按钮,使用户能够随时终止退出程序,界面如图3所示。

5单项选择题测试课件设计示例

单项选择题是测试题类型中最常用的一种题型,在单项选择题中,使用UI组件中的单选钮组件接收用户选择操作,使用loadVariables动作载入试题文件。

5.1试题文件组成

作为示例,我们制作一个包含5道题的测试媒体课件,每道题是一个文本文件,分别命名为question1.txt—question5.txt。

图4测试题的文件组成

文件question1.txt形式如下:/

q=怎样认定一个帧定义了程序代码?

&answer1=该帧有一个实心圆点

&answer2=该帧颜色与其它不同

&answer3=该帧上有一个“a”标志

&answer4=该帧有一个空心圆点

&correctanswer=C&eof=1

同时建立一个test.txt文件,用于对变量进行初始化设置(如题目总数等),内容如下:

title=多媒体课件-单选测验&totalQuestions=5&eof=1

5.2帧的设计

多项选择测试课件主时间轴的设计如图5所示。包含有11层,分别是帧标签、动作脚本、查看答案、题目答案、题目答案文本框、单选按钮、题号及动态文本框、题目背景、总标题动态文本、初始页面、标题、背景等。实际上,其重点就是动作脚本层。在该图层上实现题目的载入、答案的交互、成绩计算等功能。

图5多项选择测试设计

5.3动作脚本的定义

5.3.1开始帧脚本的设计

在开始帧放置脚本,判断影片是否完全载入,如果载入完毕,则转到设置帧进行初始化设置:

=_totalframes){//判断影片是否完全载入

gotoAndPlay("设置");

}

5.3.2“设置”帧脚本的设计

设置帧动作脚本的主要作用是进行变量的初始化,并载入test.txt。

right=0;

//用变量right记录答对题目数

wrong=0;

//用变量wrong记录答错题目数

view=0;

//用变量view记录用户是否查看了答案

qnumber=0;

//用变量qnumber记录已载入的题目数

eof=0;

//用变量eof记录是否将一个题目完全载入

loadVariablesNum("test.txt",0);

//将初始文本文件载入

5.3.3信息帧脚本的设计

“信息”帧的作用是测试所需的测试信息(即test.txt)是否已经载入。如果没有载入完毕,在此处循环等待;如果已经载入,则转到“测试”帧。动作脚本如下:

if(eof==1){

gotoAndStop("测试");

}

5.3.4测试帧脚本的设计

“测试”帧等待学生单击“开始”按钮,然后跳转“载入”帧播放。课件中给“开始”按钮添加了以下脚本:

on(release){

gotoAndPlay("载入");

}

5.3.5载入帧脚本的设计

“载入”帧的作用是载入试题文本文件(question1.txt—question5.txt)。此处的帧动作脚本如下:

eof=0;

qnumber=qnumber 1;

totalQuestions){

gotoAndStop("完成");

}else{

curQuestions="第" qnumber "题" "(共" totalQuestions "题)";

loadVariablesNum("question" qnumber ".txt",0);

}

5.3.6循环帧脚本的设计

“循环”帧的作用是等待载入题目文本文件。如果没有载入完毕,就在此处循环播放等待载入;如果已经载入完毕,则跳转“已载入”帧,进行当前题目的测试。本帧动作脚本如下:

if(eof==1){

//如果eof==1,则某一个题目已完全载入

gotoAndPlay("已载入");

}

5.3.7已载入帧脚本的设计

“已载入”帧的作用是显示题目供学生作答。这里的帧动作脚本如下:

question=qnumber "." q;

stop();

第一个语句的作用是构造题目,然后在动态文本框question中显示出来,stop()语句的作用是等待学生选择答案。

5.3.8成绩反馈的实现

在动画结束帧,使用了三个动态文本框(dui、cuo、chengji),用于显示测试成绩,在该帧计算成绩(按百分制)并在动态文本框显示出来,脚本如下:

myscore=int((right/totalQuestions)*100);

dui.text="你做对了" right "题";

cuo.text="你做错了" wrong "题";

chengji.text="你共得" myscore "分";

curQuestions="";

stop();

成绩反馈的界面如下:

图6测试题的反馈界面

6使用FLASH的模板制作多媒体的测试题

实际在,在Flash中提供了一个综合测试题模板,使用该模板也可以快速制作判断题、填空题、多项选择题、拖动填空题等,如下图示。要使用该模板,可执行“新建”—从模板新建,打开新文档对话框,选择“类别”栏的“测试”类别后,出现三个模板样式,选中其中一种样式,确定后,即可得到一个包含有多种测试类型的课件。

其主文件是一个包含8个关键帧的动画,第1帧为欢迎界面,第8帧是一个统计界面,用于统计得分情况,中间6帧分别对应拖曳、填空、热对象选择、热区选择、多选题、单选题,删除掉多余的题型对所应的帧,只保留需要的题型即可。在Interactions图层为题目创建关键帧,有多少个问题创建多少个帧。

对于测试题中的选项,可通过组件检查器,为每个实例输入参数值。

使用Flash提供的模板创建交互性的测试课件也为失为一个制作交互性课件的好方法。

图7使用模板创建的练习测验多选题

7结束语应用Flash的动作脚本语言,可以制作出具有良好交互性和开放性的多媒体课件,为制作交互性开放性课件提供了一种有效的途径。Fla,sh使用矢量技术制作课件,生成的文件体积小,在网上采用流式播放技术播放,可以边下载边播放,降低了对带宽的要求,“减少”了等待时间,有利于课件的网上教学和网上交流。

参考文献

[1]赵英杰.FlashMX2004动画制作宝典.海洋出版社,2005,1.

[2]李捷等.FlashActionScript2.0编程基础与实例教程.电子工业出版社,2006,4.

上一页  [1] [2] 

文章录入:admin    责任编辑:admin 
  • 上一篇文章:
  • 下一篇文章:
  • 版权所有:copyright 2007-2008 中华文秘网 备案:京ICP备06039411号
    联系QQ:493831364 MSN:dinhuajj@hotmail.com