亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于JSFL的Flash自動(dòng)測評系統(tǒng)研究

        2010-07-12 08:18:36王德東楊永華
        關(guān)鍵詞:時(shí)間軸圖層示例

        王德東,楊永華,盧 暢

        (浙江海洋學(xué)院公共實(shí)驗(yàn)中心,浙江舟山 316004)

        Flash是Macromedia公司(現(xiàn)已被Adobe公司收購)開發(fā)的一款矢量動(dòng)畫創(chuàng)作工具,主要用來創(chuàng)建二維動(dòng)畫,也可以用它來創(chuàng)建幻燈片演示文稿、表單應(yīng)用程序以及通過腳本程序來建立人機(jī)交互的內(nèi)容。Flash可以包含文字、圖形、圖片、聲音以及視頻文件,由于是矢量格式,文件體積很小,很適合應(yīng)用在網(wǎng)絡(luò)廣告、在線游戲以及網(wǎng)絡(luò)多媒體教程等領(lǐng)域,其精簡版Flash Lite在手機(jī)方面的應(yīng)用也日漸豐富起來[1]。目前,各個(gè)高校大都開設(shè)了Flash軟件選修課程,由于選修此類課程的學(xué)生人數(shù)往往比較多,教師批改作業(yè)及閱卷工作量都很大,因此設(shè)計(jì)一個(gè)計(jì)算機(jī)自動(dòng)測評系統(tǒng)就顯得很有必要。

        1 閱卷方案比較

        對真實(shí)環(huán)境下產(chǎn)生的Flash文件進(jìn)行計(jì)算機(jī)自動(dòng)閱卷,可以考慮三種方案:一是分析SWF文件格式以逆向工程的方式進(jìn)行,二是利用數(shù)字圖像處理[2]及模式識(shí)別的方法[3],三是在Flash設(shè)計(jì)環(huán)境下通過運(yùn)行JSFL腳本來對FLA文件進(jìn)行模糊批閱。第一種方法不僅工作量巨大,而且由于商業(yè)因素,不可能完全逆向分析。第二種方法需要將Flash的每一幀截圖存為BMP或JPEG格式,然后進(jìn)行識(shí)別,效率太低。第三種方法,有點(diǎn)類似于MS OFFICE中的VBA的閱卷方式,利用腳本語言讀取對象的屬性和標(biāo)準(zhǔn)答案比對,從而實(shí)現(xiàn)快速閱卷。這種方法開發(fā)難度低,效率高,可以大大縮短開發(fā)周期。

        2 JSFL文件介紹

        Flash提供了兩種形式的腳本,一種是編譯后的SWF文件運(yùn)行時(shí)在Adobe Flash Player中執(zhí)行的腳本,即AS(Action Script)。另一種即我們要討論的Flash JavaScript API(簡稱JSAPI),它是Flash提供的應(yīng)用程序編程接口,運(yùn)行在Flash編輯環(huán)境中,用于擴(kuò)展Flash IDE運(yùn)行時(shí)的功能,其對應(yīng)的腳本語言即JSFL。利用JSFL可以設(shè)置對象的屬性,自動(dòng)執(zhí)行重復(fù)性任務(wù),提高創(chuàng)作效率。同時(shí),也可以利用它讀取對象的屬性來達(dá)到閱卷的目的。

        3 FLASH文檔對象模型(DOM)介紹

        Flash JavaScript API基于文檔對象模型(DOM),該模型允許使用JavaScript對象訪問Flash文檔。DOM包含一組頂級(jí)函數(shù)和兩個(gè)頂級(jí)對象FLfile對象和flash對象。FLfile對象用于對本地文件系統(tǒng)中的文件和文件夾進(jìn)行操作,fl.documents代表當(dāng)前打開的Flash文件數(shù)組。例如fl.documents[0]代表第一個(gè)打開的FLA文檔,而通過fl.getDocumentDOM().library.items[0],則可以獲得庫中第一個(gè)元素的引用。每個(gè)Document對象由子對象和屬性組成。DOM對象模型見圖1。

        圖1 FLASH文檔對象模型(DOM)Fig.1 Flash document object model(DOM)

        4 操作題測試項(xiàng)目

        主要測試內(nèi)容有:文檔屬性;時(shí)間軸、圖層、幀等屬性及操作;動(dòng)畫類型;庫、元件、位圖、聲音、視頻等屬性;靜態(tài)文本、濾鏡屬性;筆觸、顏色、填充操作;規(guī)則圖形(直線、圓、橢圓及多邊形)繪制操作;不規(guī)則圖形操作等。

        4.1 文檔(舞臺(tái))屬性

        這里的文檔就是指舞臺(tái),是演員表演的場所。在一個(gè)FLASH動(dòng)畫中,舞臺(tái)的大小和幀頻都是一樣的,要想調(diào)整某一段動(dòng)畫的播放速度,可以通過增加或減少幀的方法來解決。

        fl.getDocumentDOM().width 和 fl.getDocumentDOM().height 可以返回舞臺(tái)的寬度及高度;fl.getDocumentDOM().backgroundColor返回舞臺(tái)的背景顏色,格式為"#RRGGBB"的字符串,例如返回值為"0000FF"代表藍(lán)色。document.frameRate它指定播放動(dòng)畫播放的速度,默認(rèn)值為每秒12幀,其取值范圍為0.01~120之間。通過getMetadata返回文檔的標(biāo)題及其描述性文字,這樣GOOGLE等搜索引擎就可以對其進(jìn)行索引。調(diào)用getMetadata函數(shù)后自動(dòng)產(chǎn)生XML文件,讀取它即可獲得文檔的“標(biāo)題”及“描述”2個(gè)屬性。

        圖2 設(shè)置文檔(舞臺(tái))屬性Fig.2 Set up parameters of the document(stage)

        4.2 場景、時(shí)間軸、圖層、幀

        4.2.1 場景(scene)及時(shí)間軸對象的主要屬性

        一場戲劇可以分為很多幕,這個(gè)“幕”就可以理解為場景,也可以理解為一本書中的一個(gè)章節(jié)。復(fù)雜的動(dòng)畫往往分為多個(gè)場景,便于設(shè)計(jì)及管理。演員、音響、背景等各種因素需要按照事先安排好的次序及時(shí)間來進(jìn)行演出,這個(gè)總調(diào)度是由時(shí)間軸來完成的。主要屬性有,timeline.name:場景(時(shí)間軸)名稱;timeline.currentLayer:當(dāng)前活動(dòng)圖層的編號(hào);timeline.layerCount:圖層總數(shù);timeline.layers :圖層對象數(shù)組。

        4.2.2 圖層(layer)對象的主要屬性

        圖層可以看成是拍攝用的膠片,每層膠片是透明的,多個(gè)圖層按次序垂直排列。處于上面圖層中的對象會(huì)遮住下層相同位置的對象。圖層的主要屬性有,layer.color:圖層輪廓顏色;layer.frameCount:圖層幀數(shù);layer.frames:幀對象數(shù)組;layer.height:以百分比表示的圖層高度;layer.layerType:圖層類型;layer.parentLayer:圖層包含的文件夾、引導(dǎo)圖層或遮罩圖層。layer.locked:圖層的鎖定狀態(tài);layer.name:圖層的名稱;layer.visible:圖層是否被掩藏。

        4.2.3 幀(frame)對象的主要屬性

        “幀”是時(shí)間軸上的一個(gè)小格,是舞臺(tái)內(nèi)容中的一個(gè)片斷,多個(gè)幀按照一定速度播放就形成了動(dòng)畫。主要屬性有,frame.name:幀名稱;timeline.currentFrame:當(dāng)前幀編號(hào);frame.actionScript:ActionScript 代碼;frame.duration:幀的數(shù)量;frame.tweenType:補(bǔ)間的類型;frame.tweenEasing:補(bǔ)間對象的緩動(dòng)數(shù)量;frame.labelType:幀名稱的類型,分為名稱、注釋、錨記三種;frame.motionTweenOrientToPath:動(dòng)畫運(yùn)動(dòng)時(shí)是否旋,其中,motionTweenRotate說明旋轉(zhuǎn)方向(順時(shí)針或逆時(shí)針),motionTweenRotateTimes代表定補(bǔ)間元素在起始關(guān)鍵幀和下一關(guān)鍵幀之間旋轉(zhuǎn)的次數(shù);frame.motionTweenScale:對象移動(dòng)時(shí)是否縮放,motionTweenSnap表示是否對齊到路徑,motionTweenSync表示對象運(yùn)動(dòng)時(shí)是否和時(shí)間軸同步。另外還有聲音名稱,播放方式及次數(shù)等屬性。

        4.3 元素、位圖、文本、濾鏡

        元素是一個(gè)統(tǒng)稱,在舞臺(tái)上輸入的文本、繪制的圖形、導(dǎo)入的位圖等都是元素,element.elementType表示元素的類型,有常用的有三種:"shape"、"text"、"instance"。Shpae對象是形狀對象。Instance 是庫項(xiàng)目的實(shí)例,對于位圖,通過instanceType屬性返回“bitmap”來判斷,然后通過getBits函數(shù)來測試其高度、寬度和顏色位數(shù)。文本類型分為靜態(tài)、動(dòng)態(tài)及輸入三種,本系統(tǒng)著重測試靜態(tài)(static)文本。通過getTextAttr函數(shù)來測試字體名稱、顏色、大小、加粗、斜體、對齊方式等項(xiàng)目。濾鏡的概念是自FLASH8.0以后增加的,類似于PHOTOSHOP的濾鏡,用于增強(qiáng)位圖、文本、元件實(shí)例的效果。用getFilters函數(shù)可以獲得濾鏡對象,進(jìn)而獲得其它的相應(yīng)屬性。

        4.4 庫、元件

        庫(library)對象相當(dāng)于一模板,包含元件(Symbol)、位圖、聲音和視頻。元件的類型分為 "movie clip"、"button"和"graphic",分別代表“影片剪輯”、“按鈕”及“圖形”。對于反復(fù)使用的元素,盡可能設(shè)計(jì)為元件,便于管理并能減少文件體積。通過getItemType屬性可以獲得其類型,通過getItemProperty函數(shù)獲取所選項(xiàng)目的屬性。

        4.5 筆觸、填充色、混色器

        getCustomStroke()返回筆觸對象。stroke.capType,指定筆觸端類型的字符串??山邮艿闹禐?"none"、"round"和 "square";stroke.thickness 返回筆觸高度;stroke.color返回筆觸顏色。通過 getCustomFill()獲得取所選內(nèi)容的填充對象,然后通過 fill.style、fill.color、fill.colorArray、fill.posArrayt等來返回填充類型、顏色、漸變及位置等屬性。

        4.6 形狀識(shí)別

        對于標(biāo)準(zhǔn)的矢量圖形的識(shí)別,例如直線、圓、橢圓、三角形、矩形、多邊形、星形等,可以統(tǒng)一采用模糊判斷方法。即在題目里明確規(guī)定形狀的高度、寬度以及X、Y的坐標(biāo),這樣便于閱卷。Flash編輯環(huán)境中元素的坐標(biāo)位置見圖3及圖4。通過程序獲取其邊界點(diǎn)(參考6.1小節(jié)里的 getEgePoint()函數(shù)),然后和知識(shí)庫里的標(biāo)準(zhǔn)點(diǎn)比對,只要存在這些點(diǎn)(允許一定的誤差)就認(rèn)為操作是正確的。

        對于不規(guī)則區(qū)域的識(shí)別相對比較復(fù)雜,不規(guī)則區(qū)域是由貝塞爾曲線組成的。在獲取了邊界點(diǎn)后,利用貝塞爾曲線公式,根據(jù)統(tǒng)計(jì)方法進(jìn)行判斷[4]。

        圖3 屬性設(shè)置面板Fig.3 Panel of parameter setting-up

        圖4 圓的坐標(biāo)點(diǎn)分配示意圖Fig.4 Map of distribution of circle points on the coordinate

        5 綜合舉例

        閱卷系統(tǒng)可以采取兩種方式給出成績:一是在JSFL文件里輸出各種對象的屬性值,并保存為文本文件,然后利用其它高級(jí)語言(例如VB)來讀取這個(gè)文件和標(biāo)準(zhǔn)答案比對;另一種方法是利用JSFL直接評分,并將分?jǐn)?shù)寫在文件里,然后利用VB來讀取這個(gè)分?jǐn)?shù)。前者比較靈活,可以結(jié)合數(shù)據(jù)庫做成通用的系統(tǒng),后者則可以設(shè)計(jì)一些比較復(fù)雜的題目,閱卷效率比較高。示例1采用了第一種方法,示例2則采取了第二種方法。另外,為了節(jié)約篇幅,程序中略去了錯(cuò)誤處理代碼,具體閱卷時(shí),需要詳細(xì)考慮容錯(cuò)問題,例如考生沒有全部完成題目,此時(shí)JSFL代碼可能得不到正確的結(jié)果,可以使用try…catch(error)…finnaly以及使用if語句來處理。

        5.1 示例 1

        繪制 1個(gè)圓,半徑為 60,位置(X、Y)為(100,100)。筆觸顏色為為紅色,高度為4,用放射狀顏色填充,顏色點(diǎn)位置大概為(0,255),顏色分別為藍(lán)色、白色。見圖5。

        圖5 閱卷示例1Fig.5 Example 1 of Assessment

        關(guān)鍵閱卷代碼及分析:

        表1 score1.txt文件的內(nèi)容Tab.1 Content of the file score1.txt

        表1所示的內(nèi)容,用VB打開該文件,使用Instr()等函數(shù)就可以進(jìn)行閱卷,只要判斷存在第1行的數(shù)據(jù),就可以認(rèn)為正確繪制了一個(gè)圓。然后判斷第2、3行的內(nèi)容,和標(biāo)準(zhǔn)答案比較即可給出分?jǐn)?shù)。

        5.2 示例 2

        新建1個(gè)FLA文件,將圖層1命名為“背景”,導(dǎo)入素材“乒乓桌.jpg”到舞臺(tái)上,將其設(shè)置為背景。新建1個(gè)元件“乒乓球”,類型為“影片剪輯”。新建1個(gè)圖層,命名為“乒乓球”,將“乒乓球”元件拖到主舞臺(tái)中,從第1幀到第10幀建立補(bǔ)間動(dòng)畫,見圖6。

        圖6 閱卷示例2Fig.6 Example 2 of assessment

        關(guān)鍵閱卷代碼:

        5.3 建立題庫及閱卷程序

        Flash操作題目閱卷系統(tǒng)分為兩個(gè)部分:出題系統(tǒng)及閱卷系統(tǒng),主程序及控制部分用VB開發(fā),F(xiàn)lash對象屬性的獲得通過JSFL來獲取。系統(tǒng)框架圖見圖7。在VB中結(jié)合ADO來操作數(shù)據(jù)庫[5],出題時(shí)用JSFL讀取FLA文件對象的各種屬性并寫入數(shù)據(jù)庫。閱卷時(shí),再次利用JSFL獲得對象的屬性,進(jìn)行比對,給出成績并寫入數(shù)據(jù)庫。閱卷的JSFL文件以及VB閱卷腳本保存在數(shù)據(jù)庫里,可以動(dòng)態(tài)增加修改,因此本系統(tǒng)具有靈活的可擴(kuò)展性。

        圖7 閱卷系統(tǒng)框架圖Fig.7 The framework of the assessment system

        VB關(guān)鍵代碼:

        6 結(jié)束語

        對于Flash軟件的考核,主要是測試學(xué)生對基本工具掌握的情況等,通過實(shí)例可以看出,該測試方法完全可行,結(jié)合在線理論測試系統(tǒng)及CAI輔助學(xué)習(xí)系統(tǒng),可以大大減少教師的工作量,提高學(xué)生的學(xué)習(xí)興趣及積極性,提高了閱卷的公正性。本系統(tǒng)在我校的Flash公選課程里試用,取得了不錯(cuò)的效果。下一步打算將其做成COM插件[6]的形式運(yùn)行于IE瀏覽器里,這樣整個(gè)系統(tǒng)都是基于B/S結(jié)構(gòu),方便了系統(tǒng)的使用及更新。

        [1]張 震.中文Flash8動(dòng)畫網(wǎng)頁制作與實(shí)例教程[M].北京:冶金工業(yè)出版社,2006.

        [2]孫家廣.計(jì)算機(jī)圖形學(xué)[M].北京:清華大學(xué)出版社,2002.

        [3]張新峰,沈蘭蓀.模式識(shí)別及其在圖像處理中的應(yīng)用[J].測控技術(shù),2004,23(5):28-32.

        [4]徐文勝.真實(shí)環(huán)境下FLASH自動(dòng)測評系統(tǒng)[J].農(nóng)機(jī)化研究,2004(1):227-229.

        [5]魯佩云.ADO對象模型和用VB實(shí)現(xiàn)其應(yīng)用的兩種方式[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(7):1 947-1 949.

        [6]游慶祥,姚世軍,韓 強(qiáng).一種基于接口匹配的構(gòu)件庫設(shè)計(jì)[J].微計(jì)算機(jī)信息:管控一體化,2006,22(9273):269-271.

        猜你喜歡
        時(shí)間軸圖層示例
        改革開放以來黨的歷屆三中全會(huì)時(shí)間軸
        大還是小
        時(shí)間軸上二階非線性非自治延遲動(dòng)力系統(tǒng)的振動(dòng)性
        2019年高考上海卷作文示例
        常見單位符號(hào)大小寫混淆示例
        山東冶金(2019年5期)2019-11-16 09:09:22
        時(shí)間軸里的“共和國記憶”
        金橋(2019年12期)2019-08-13 07:16:28
        “全等三角形”錯(cuò)解示例
        巧用混合圖層 制作抽象動(dòng)感森林
        圖層法在地理區(qū)域圖讀圖中的應(yīng)用
        淺析“遞層優(yōu)化法”在礦井制圖中的應(yīng)用
        河南科技(2014年6期)2014-04-04 08:00:42
        公和我做好爽添厨房| 豆国产95在线 | 亚洲| 久久久久久中文字幕有精品| 乱人伦视频69| 成人免费播放片高清在线观看| 国内精品少妇高潮视频| 国产性生交xxxxx无码| 精品国产aⅴ无码一区二区| 草莓视频成人| 一区二区三区在线视频免费观看| 日本免费三片在线播放| 亚洲天堂一区av在线| 亚洲熟妇丰满多毛xxxx| 成人a级视频在线观看| 亚洲欧美精品伊人久久| 久久青青草原亚洲AV无码麻豆| 亚洲av一区二区网址| 国产精品一区二区三区在线蜜桃 | 91色老久久偷偷精品蜜臀懂色| 男女做爰猛烈啪啪吃奶动| 久久99欧美| 国产青春草在线观看视频| 亚洲 另类 小说 国产精品| 宅男666在线永久免费观看| 精品人妻伦九区久久AAA片69| 中国人妻被两个老外三p| 色窝窝无码一区二区三区2022| 日本av一区二区播放| 在线观看av不卡 一区二区三区| 亚洲av毛片在线网站| 日韩亚洲欧美久久久www综合 | 成熟丰满熟妇av无码区| 超清纯白嫩大学生无码网站| 牛牛本精品99久久精品88m| 日韩在线观看网址| 成人偷拍自拍在线视频| 亚洲福利二区三区四区| 夜夜揉揉日日人人青青| 亚洲色自偷自拍另类小说| 动漫在线无码一区| 亚洲一区二区三区偷拍自拍|