李博 齊耀龍
摘要:目前高校及各級教育機構(gòu)在各科上都在進行題庫建設(shè)及自動評分的嘗試,很多專業(yè)已經(jīng)成形了。但是在多媒體教學(xué)中,由于設(shè)計聲音、圖片、動畫、視頻等各種主觀性很強的對象,對于自動評分形成了難題?;诙嗄甑母咝嶋H教學(xué)經(jīng)驗,在flash動畫的隨機組卷和自動評分方面給出了具體的實現(xiàn)。
關(guān)鍵詞:Flash動畫;JSFL;自動評分;題庫;組卷
中圖分類號:TP311.1 文獻標(biāo)識碼:A
文章編號:1009-3044(2020)21-0183-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 引言
在各個學(xué)科的測試和考試中,為了追求公開公平公正的原則,各級教育機構(gòu)都努力對試卷進行隨機組卷和自動評分的嘗試。在高校教育中的多媒體課程包括例如聲音、圖片處理、視頻剪輯和flash動畫制作等主觀性隨意性很強的題目,在以上工作中造成了很大的困難。往常的主觀題目都是教師人工評分,因為學(xué)生人數(shù)過多,工作量非常大,如果再強調(diào)每人一套題,再進行人工評分就不太現(xiàn)實了。
2 理論基礎(chǔ)
Flash是由Adobe公司推出的交互式矢量圖和Web動畫設(shè)計軟件。在實現(xiàn)動畫的同時,系統(tǒng)內(nèi)置了ActionScript語言,而且支持JSFL。JSFL指Flash JavaScript,是JavaScript腳本文件,一個輔助編程工具,可用來創(chuàng)建在Flash創(chuàng)作環(huán)境中運行的腳本。對應(yīng)不同的flash對象和動畫方法,jsfl都有相應(yīng)的類。也就是說動畫本身有相應(yīng)的語言代碼可以調(diào)用,這樣給用程序瀏覽動畫形成了可能。
3 具體實施
我們利用JSFL可以瀏覽fla文件中的所有對象這一特性設(shè)計了相關(guān)系統(tǒng),對簡單的操作題能夠?qū)崿F(xiàn)和客觀題一樣的自動評分。
首先,把Flash的知識點進行分類,加入難度系數(shù)。
然后把所有的操作題按知識點細(xì)分得出該題的難度值和對應(yīng)章節(jié)。
最后再組卷時考慮章節(jié)覆蓋和難度對應(yīng)(見圖1、圖2)。
評分部分,利用flash自己的庫函數(shù),編寫jsfl文件。常用的類有(見表1):
4 評分過程
為了更好地評分,題目中規(guī)定了比較具體的動畫幀數(shù),做動畫的元件以及動畫所在層的名字,一般是提供一個已經(jīng)命名好的fla文件,在場景中有已經(jīng)命名好的層,在庫中有命名好的元件。
評分的大致過程如下:
4.1遍 歷所有學(xué)生的文件夾
相應(yīng)代碼:
var sources= FUile.listFolder( folderPath,”directories”);
4.2 遍歷當(dāng)前文件夾的所有fla文件
相應(yīng)代碼:
var sources2=FLfile. listFolder(sources[0]+”/flash/*. fla”,”files”1:
4.3 打開fla文件,找到相應(yīng)的層,遍歷所有的幀
相應(yīng)代碼:
var fa=fl.getDocumentD OM O.getTimelineO.layers[Ol.frames;
4.4 根據(jù)關(guān)鍵幀的動畫類型,幀的起始位置,動畫總幀數(shù)來判斷是否滿足條件。
4.4.1 補間形狀(tweenType=”shape”)
判斷起始終止關(guān)鍵幀形狀是否正確,補間是否正確。判斷對象的elementType是否為shape,矢量圖的x,y屬性
4.4.2 傳統(tǒng)補間(tweenType=”motion”)
1移動判斷元件的x,y屬性
1縮放判斷元件的scaleX,scaleY屬性或width,height屬性
1旋轉(zhuǎn)判斷關(guān)鍵幀的rotateDirection值
1緩動判斷關(guān)鍵幀的SimpleEase值
1淡人淡出判斷元件的colorAlphaPercent屬性
1遮罩動畫先判斷遮罩是否正確,兩個層的類型是否為mask和masked;然后看動畫是否正確。
1引導(dǎo)動畫先判斷引導(dǎo)是否正確,兩個層的類型是否為guide和guideed;然后看動畫是否正確。
4.4.3 補間動畫(tweenType=”motion object”)
判斷相應(yīng)的幀的xml中的相應(yīng)的屬性是否正確。傳統(tǒng)補間的大部分動畫都有相應(yīng)的屬性可以判斷,例如移動是Motion_x,Motion_y,Motion_z屬性,其他屬性類似不再贅述。
當(dāng)然評分軟件的編寫最大的困難不是各種類的使用,而是糾錯,學(xué)生的答題結(jié)果千奇百怪,各種莫名的結(jié)果都要考慮到,經(jīng)過幾年的運行和不斷地改進,該系統(tǒng)經(jīng)受了殘酷的考驗,基本達到了要求。
5 評分時的糾錯
因為評分時是很多人的文件放在一起評的,一個一個遍歷,速度比較慢,當(dāng)評分程序出現(xiàn)錯誤的時候運行就會中斷,就需要重新配置環(huán)境,重新運行,造成效率低下。所以程序的糾錯是必要的,最好是能把出現(xiàn)的錯誤提前預(yù)料到,提前做出應(yīng)對,節(jié)約時間和精力。
但是學(xué)生的腦洞大開,出現(xiàn)的錯誤防不勝防,我們把近年來評分時遇到的錯誤一一列舉,以供其他有此需求的教師參考。
5.1 一定要確定關(guān)鍵幀的動畫類型
3種補間方式再加上沒有補間的None類型,一共會出現(xiàn)4種tweenType,題目肯定只會考一種補間方式,但是不要想當(dāng)然,學(xué)生會對同一道題目做出所有類型的動畫,當(dāng)然包括錯誤的。所以在找到起始關(guān)鍵幀后一定要判斷動畫類型是否正確,否則在后面取相關(guān)對象的時候就會出錯。
5.2 一定要確定關(guān)鍵幀上的對象的數(shù)量
對于一些簡單的動畫,fla文件中只提供了一個元件,也只有一個層,按說只需要判斷元件的動畫是否滿足要求就行了,但是學(xué)生會在補間的關(guān)鍵幀上放一堆對象或者什么都沒有,這時如果直接判斷對象的動畫就會出錯。
5.3 一定要確定關(guān)鍵幀上的對象類型
對于形狀補間,因為不是元件,只是矢量圖,不能對具體的錨點位置評分,只能看是否在關(guān)鍵幀有形狀補間,并且對象是提供的矢量圖。但是學(xué)生會在補間完成后把矢量圖轉(zhuǎn)換成元件,或者干脆換成沒提供的圖形,或者刪掉。所以如果不知道對象類型去遍歷就會出錯。
5.4 一定要確定層的順序
有的題目多個層的順序是已經(jīng)給定的,但是學(xué)生會自己打亂,而且會改名,另外像引導(dǎo)動畫和遮罩動畫層的順序是必需的。所以一定要確定先判斷層的順序再去遍歷層。
5.5 評引導(dǎo)動畫時,一定要確定對象是否在引導(dǎo)線上
引導(dǎo)動畫不光需要判斷疊放次序,還要判斷被引導(dǎo)對象是否在引導(dǎo)線上,因為學(xué)生會在被引導(dǎo)層的關(guān)鍵幀上放置多個對象或者沒有對象,或者對象沒有對齊引導(dǎo)線。
5.6 評引導(dǎo)動畫時,一定要判斷引導(dǎo)層沒有補間,而且不是元件
因為引導(dǎo)層一定要保持矢量圖的散點狀態(tài),才能有引導(dǎo)作用。
5.7 評最新的補間動畫時,因為要用到動畫的xml文本,一定要確定是否能生成xml文本
補間動畫的屬相非常多,評分時要把動畫轉(zhuǎn)換為xml文本來搜索相應(yīng)的屬性。但是學(xué)生會在補間后對幀上的元件進行隨意增刪,破壞了補間,根本就不能生成xml文本,何談搜索。
以上只是列舉了近幾年出現(xiàn)的典型錯誤,其實真正的答題環(huán)境可以稱得上“百花齊放”,對相應(yīng)的程序設(shè)計提出了高要求。
6 展望
現(xiàn)在的組卷和評分系統(tǒng)已經(jīng)運行了幾年了,也經(jīng)受了許多考驗,但還是有可以提高的部分。因為動畫過于靈活,而且當(dāng)層數(shù)很多時,自動評分系統(tǒng)往往耗時較長,容錯率也有所下降。以后在出題環(huán)節(jié)就要考慮這個問題,盡量把題目的靈活性控制的低一些。JSFL本身的擴展能力糾錯能力一般,可以嘗試在JSFL外,用其他語言調(diào)用函數(shù),充分發(fā)揮各自的優(yōu)勢。
參考文獻:
[1]隋秀龍.基于JSFL自動批改Flash操作題的研究及實現(xiàn)[J].電腦編程技巧與維護,2015(5):77-79.
[2]王德東,楊永華,盧暢.基于JSFL的Flash自動測評系統(tǒng)研究[Jl.浙江海洋學(xué)院學(xué)報(自然科學(xué)版),2010,29(1):89-94,98.
[3]苗永利,基于內(nèi)容及圖像分析的信息技術(shù)自動閱卷系統(tǒng)[D].山西省太原市:太原理工大學(xué),2016.
【通聯(lián)編輯:王力】
基金項目:河北大學(xué)工商學(xué)院第二批課程建設(shè)項目(2019KCJS38);河北大學(xué)第二批“課程思政改革試點課程”建設(shè)項目(KCSZ-02-117)
作者簡介:李博(1973-),男,河北保定人,講師,碩士,主要研究方向為計算機軟件設(shè)計、人工智能等。