例说利用JSFL批改FLASH操作题的方法

上传人:xmg****18 文档编号:120077966 上传时间:2020-02-02 格式:DOC 页数:7 大小:37.50KB
返回 下载 相关 举报
例说利用JSFL批改FLASH操作题的方法_第1页
第1页 / 共7页
例说利用JSFL批改FLASH操作题的方法_第2页
第2页 / 共7页
例说利用JSFL批改FLASH操作题的方法_第3页
第3页 / 共7页
例说利用JSFL批改FLASH操作题的方法_第4页
第4页 / 共7页
例说利用JSFL批改FLASH操作题的方法_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《例说利用JSFL批改FLASH操作题的方法》由会员分享,可在线阅读,更多相关《例说利用JSFL批改FLASH操作题的方法(7页珍藏版)》请在金锄头文库上搜索。

1、.word格式.例说利用JSFL批改FLASH操作题的方法http:/ 摘要:针对flash操作题难于计算机自动批改的问题,本文用通俗易懂的实例介绍和演示了用JSFL脚本对FLA文件进行计算机自动评分的方法。经实践证明,该方法简单实用,对Flash的教学有很大的促进作用。关键词:JSFLFLASH操作题批改考试自从新课程改革以来,flash软件就进入到了高考和会考的一部分。前几年的高考,FLASH还停留在纸笔考试方式上,从今年的高一年级学生开始,就必须上机考试,FLASH软件的上机操作教学就更加成为教与学重点和热点。众所周知,课堂内进行实时评价是提高教学效率的有效方法之一,但单凭教师的一己之力

2、对全班学生进行课内实时批改FLA源文件是几乎不可能完成的,只有依赖计算机自动阅卷功能才能有效地解决这一问题。JSFL技术能帮助我们实现FLASH自动阅卷。对于这一技术,计算机软件高手们早在两年前就已经掌握,而且开发出了比较成熟的考试系统,但由于商业意识较浓,具体的批改方法一直没有被公布。技术“垄断”在少数人手中,使广大信息技术教师知之甚少,大大限制了此项技术的推广。笔者利用有限的几篇资料和FLASH的帮助文件,通过悉心钻研,终于对FLASH操作题的FLA源文档的批改有了一个初步认识,并进行了多次实践。1、关于JSFL文件FlashJavaScript(JSFL)是一种基于JavaScript的

3、扩展脚本语言,让我们控制Flash的创作环境。JSFL文件其实就是一个文本文件,可以用普通的文本编辑器进行编辑,当然我们推荐用flash软件来编辑(因为flash提供了丰富的帮助功能,按F1可以获取当前属性的使用帮助)。文件的扩展名是.jsfl,其语法结构完全可以参考JavaScript。JSFL基于文档对象模型(DOM),fl.getDocumentDOM()可以获取当前已打开的fla文档,在使用文档某对象的属性时,往往都要用到fl.getDocumentDOM()。JSFL文件的运行方法很简单:在“我的电脑”中找到此文件,双击就可以运行了。不过,flash对此类文件的调试功能很差,如果脚本

4、有错误,提示信息很简单,很难找到错误原因所在,故要在教师编写批改脚本时,要反复试验。2、各知识点的批改2.1文档的主要属性舞台宽度:fl.getDocumentDOM().width(以后fl.getDocumentDOM()省略)舞台高度:height舞台背景颜色:backgroundColor,这里使用的颜色代码为十六进制数,而且必须用引号括起来,如:黑色所对应的字符串为”#000000”(注意:双引号里面还有单引号)。帧频:frameRate2.2图层属性的使用方法由于一个作品里往往用到很多图层,flash把时间轴的图层从上到下进行排序编号0,1,2,。时间轴的图层总数:getTimel

5、ine().layerCount第i号图层名称:getTimeline().layersi.name2.3关键帧的判断图层里的每一帧都有编号,编号是从0开始,这与时间轴上所显示的有所区别。第i图层的总帧数:getTimeline().layersl.frames.length第i图层的第j帧的起始帧:getTimeline().layersi.framesj.startFrame2.4帧属性常用的帧属性主要有动画补间和声音等,其主要用法如下:varfram=fl.getDocumentDOM().getTimeline().layersl.framesf;/定义变量fram为第l层的第f+1帧

6、。下面是此帧的一些属性:fram.tweenType返回动画类型,返回值有三种可能:motion、shape或none。fram.motionTweenRotateTimes返回补间动画的起始关键帧和下一关键帧之间旋转的次数。fram.soundName返回附加在帧上的声音的名称。fram.soundSync返回附加在帧上的声音的同步行为,值为event、stop、start和stream。2.5舞台中的元素元素是一个统称,在舞台上输入的文本、绘制的图形、导入的位图等都是元素,element.elementType表示元素的类型,有常用的有三种:”shape”、”text”、”instance

7、”。批改舞台中的元素时,先把此帧舞台上的所有元素存于elts数组,然后在elts0、elts1、eltselts.length-1中逐一判断。varelts=fl.getDocumentDOM().getTimeline().layersl.framesf.elements;/获取第l层第f+1帧的所有元素存于elts数组。(1)元素共有的属性elementType表示指定元素的类型,有常用的有三种:”shape”、”text”、”instance”。width表示指定元素的宽度(单位为像素)。height表示指定元素的高度(单位为像素)。left表示元素的左侧坐标。top表示元素的顶端坐标。

8、name表示指定元素的名称,通常称为实例名称。selected表示指定元素是否处于选中状态。(2)形状(shape)Contours获取形状的Contour对象的数组(Contour对象表示由形状边界上的半边缘组成的封闭路径)。Edges获取Edge对象的数组(Edge对象表示舞台上一个形状的边缘)。isGroup如果为true,则该形状是一个组合。(3)文字(text)使用getTextAttr(attrName)来获取,attrName为如下的一个字符串:alignment一个字符串,它指定段落的对齐方式。可接受值为”left”、”center”、”right”和”justify”。bol

9、d一个布尔值。值为true会导致文本以粗体显示。face一个字符串,它表示字体的名称,如“宋体”。fillColor一个字符串、十六进制值或整数,它表示填充的颜色。italic一个布尔值。值为true将导致文本以斜体显示。rotation一个布尔值。值为true会导致Flash将文本字符旋转90。默认值为false。size一个整数,它指定字体的大小。如:getTextAttr(“face”)能返回舞台上文本的字体名称。(4)元件实例(instance)actionScript获取元件中的动作脚本。colorAlphaAmount是实例的颜色变形的一部分,指定”高级效果”Alpha设置;等效于

10、在”属性”检查器中使用”颜色”高级”设置并调整对话框右侧的控件。colorAlphaPercent实例的颜色转换的一部分;等效于在实例”属性”检查器中使用”颜色”高级”设置(对话框左侧的百分比控件)。symbolType元件的类型,值为”graphic”、”movieclip”或”button”。libraryItem.name获取此实例对应库中的元件名称。2.6库库(library)包含元件(Symbol)、位图、声音和视频。元件的类型又分为”movieclip”、”button”和”graphic”,分别代表“影片剪辑”、“按钮”及“图形”。2.6.1常用方法editItem()在”编辑”

11、模式下打开当前选择或指定的项目。findItemIndex()返回库项目的索引值(从零开始)。2.6.2常用属性items库中项目对象的数组例如:fl.getDocumentDOM().library.findItemIndex(“小鸟”);/在库中查找“小鸟”元件的索引值,如果返回大小或等于0,则此元件存在。2.7元件内元素的批改由于元件内也有自己独立的时间轴,故在批改元件内对象时,需要取得此元件的时间轴(或者让元件进入“编辑”模式,打开它自己的时间轴)后再进行批改。具体方法如下:varsn=fl.getDocumentDOM().library.findItemIndex(“背景”);/找

12、出“背景”元件在库中的索引号vartl=fl.getDocumentDOM().library.itemssn.timeline;/获取此元件的时间轴varelt=tl.layers0.frames0.elements0;/获取第1层第1帧舞台上的第1个元素对象(注意:这里的elt已经是元素数组里的第0号元素)alert(elt.elementType);/显示此元素的类型(alert函数的作用为弹出消息对话框)2.8场景场景可以用时间轴(timeline)对象来批改。timelines.length获取此文档的场景总数。timelines0.name获取第1个场景的名称在批改某个场景时,可以

13、把此场景的时间轴设置为活动时间轴,这样,上述所介绍的属性、方法全部适用了。更改活动时间轴的方法:fl.getDocumentDOM().currentTimeline=1把第2个场景设置为活动时间轴。3、综合举例下面是一段完整的批改程序,演示了怎样利用JSFL的属性和自定义函数进行批改,并且有详细的说明,只要您耐心地调试几次,您就一定能熟练掌握这门技术!限于篇幅,题目略。fl.getDocumentDOM().currentTimeline=0;/在第1个场景作为批改对象varsc_str=”评卷结果如下:”;/存放提示结果的字符串sc_str+=“r第1小题:舞台大小“;if(fl.getDocumentDOM().width=550&fl.getDocumentDOM().height=400)sc_str+=“”;elsesc_str+=”;sc_str+=“r第2小题:背景图层”;/以下是判断背景图层存在,且小鸟1图层位于背景图层之上if(mLayerOrder(“背景”)=0&mLayerOrder(“小鸟1”)=mLayerOrder(“背景”)-1)sc_str+=“”;else

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号