• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于JSFL技術(shù)的FLASH自動(dòng)評(píng)價(jià)中間件設(shè)計(jì)

    2015-03-20 01:13:56
    關(guān)鍵詞:中間件腳本圖層

    盛 磊

    (杭州師范大學(xué)錢江學(xué)院,浙江 杭州310012)

    1 概述

    隨著多媒體技術(shù)的普及,多媒體教育技術(shù)已經(jīng)成為各類高職高校的計(jì)算機(jī)基礎(chǔ)教育課程.多媒體技術(shù)課程包括FLASH、PHOTOSHOP以及網(wǎng)頁(yè)制作等內(nèi)容.FLASH 在多媒體技術(shù)課程中占有重要地位,其表現(xiàn)形式豐富、文件體積小、運(yùn)行平臺(tái)廣泛、兼容性強(qiáng)等特點(diǎn),被廣泛運(yùn)用于網(wǎng)站、多媒體演示以及課堂教學(xué)中.

    FLASH 課程教學(xué)與其他課程教學(xué)相比,包含更多的案例講解和演示,學(xué)生需要花更多時(shí)間進(jìn)行課程練習(xí),才能將知識(shí)靈活運(yùn)用.傳統(tǒng)教學(xué)過程中,對(duì)于學(xué)生頻繁的練習(xí)作品,通過手工方式進(jìn)行批閱評(píng)價(jià),不但需要花費(fèi)大量的時(shí)間和精力,而且對(duì)學(xué)生評(píng)價(jià)標(biāo)準(zhǔn)也無(wú)法完全一致.特別針對(duì)多媒體類考試,沒有一個(gè)公平公正的評(píng)價(jià)標(biāo)準(zhǔn),一直是FLASH 多媒體教學(xué)的困惑.

    FLASH 文檔的主體文件FLA 文檔包含F(xiàn)lash文檔的媒體、時(shí)間軸和腳本基本信息的文件[1].運(yùn)用計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)評(píng)價(jià)的關(guān)鍵在于對(duì)該文檔進(jìn)行全面的解析,通過分析給出相應(yīng)得分點(diǎn).FLASH 文檔和其他文本文檔不同,該類文檔無(wú)法直接被第三方軟件讀取和分析,這給使用計(jì)算機(jī)評(píng)價(jià)帶來一定的困難.

    本文基于JSFL技術(shù),提出一個(gè)FLASH 自動(dòng)評(píng)價(jià)中間件實(shí)現(xiàn)方法,很好地解決目前FLASH 自動(dòng)評(píng)價(jià)的瓶頸問題.

    2 JSFL技術(shù)

    在FLASH 中包含有兩種運(yùn)行腳本類型.一種是AS(Action Script),用于SWF 文件在Flash Player環(huán)境中(即播放SWF 文件期間)執(zhí)行動(dòng)作的腳本;另一種是Flash JavaScript API,它基于文檔對(duì)象模型(DOM),該模型允許使用JavaScript對(duì)象訪問Flash(FLA)文檔.用戶可以編寫和編輯Flash JavaScript(JSFL)文件,來解析Flash(FLA)文檔,獲取其中的文檔屬性、圖層屬性、幀屬性、對(duì)象屬性等等.計(jì)算機(jī)可以通過JSFL運(yùn)行解析的結(jié)果,來評(píng)價(jià)學(xué)生作品的正確性.

    基于JSFL技術(shù)的FLASH 自動(dòng)評(píng)價(jià)有兩種方法.一種方法是直接在JSFL 語(yǔ)言中給出評(píng)價(jià)結(jié)果,使用該方法從一定程度上更快的給出評(píng)價(jià)結(jié)果,但需要給每一個(gè)不同的FLASH 作品評(píng)分標(biāo)準(zhǔn)編寫不同的JSFL腳本,沒有通用性[2].另一種方法是編寫統(tǒng)一的JSFL 腳本,對(duì)文檔進(jìn)行全面的解析,在中間件程序中,對(duì)每個(gè)知識(shí)點(diǎn)進(jìn)行判定并給出評(píng)價(jià)結(jié)果,使用該方法可以減輕頻繁編寫JSFL 的壓力,在中間件程序中,編寫不同題型的評(píng)判標(biāo)準(zhǔn),對(duì)于程序設(shè)計(jì)來說更加方便.本文采取第二種方法,使用Visual Basic 6.0設(shè)計(jì)并實(shí)現(xiàn)了FLASH 自動(dòng)評(píng)價(jià)中間件技術(shù).

    3 FLASH 自動(dòng)評(píng)價(jià)中間件的實(shí)現(xiàn)

    3.1 中間件實(shí)現(xiàn)思路

    FLASH 自動(dòng)評(píng)價(jià)中間件需要配合評(píng)價(jià)系統(tǒng)軟件運(yùn)行.由評(píng)價(jià)系統(tǒng)軟件提供學(xué)生作品的基本配置(.ini)文檔,改文檔包括FLA 源文件路徑、評(píng)價(jià)題號(hào)等信息,由中間件程序運(yùn)行后給出每個(gè)點(diǎn)的得分情況、詳細(xì)評(píng)價(jià)結(jié)果以及總分信息的配置(.ini)文檔,供評(píng)價(jià)系統(tǒng)進(jìn)行進(jìn)一步處理.

    FLASH 自動(dòng)評(píng)價(jià)中間件實(shí)現(xiàn)的基本思路是根據(jù)評(píng)價(jià)系統(tǒng)給出的作品配置信息,調(diào)用JFSL腳本對(duì)學(xué)生FLA 文檔進(jìn)行解析,生成解析(ini格式)文檔,交還給中間件,由中間件程序根據(jù)作品題號(hào),將解析結(jié)果與正確結(jié)果進(jìn)行匹配,給出具體得分以及評(píng)價(jià)結(jié)果,生成評(píng)價(jià)結(jié)果配置文檔,交由評(píng)價(jià)系統(tǒng)進(jìn)行處理.該思路的基本流程如圖1所示.

    圖1 中間件實(shí)現(xiàn)流程圖Fig.1 The middleware implementation flow chart

    3.2 中間件實(shí)現(xiàn)過程

    根據(jù)中間件實(shí)現(xiàn)思路和流程,設(shè)計(jì)并實(shí)現(xiàn)基于JSFL技術(shù)的FLASH 自動(dòng)評(píng)價(jià)中間件.該中間件程序由評(píng)價(jià)系統(tǒng)來進(jìn)行調(diào)用執(zhí)行.現(xiàn)有以下案例.

    表1 案例題目和評(píng)分標(biāo)準(zhǔn)Tab.1 Subject case and scoring criteria

    需要實(shí)現(xiàn)以上FLASH 作品自動(dòng)評(píng)價(jià)主要實(shí)現(xiàn)過程如下.

    3.2.1 讀取作品配置信息

    學(xué)生作品配置信息由評(píng)價(jià)系統(tǒng)提供,相關(guān)配置文檔如下:

    由中間件程序讀取相關(guān)配置信息.學(xué)生作品在配置選項(xiàng)TestDir目錄中,以指定名稱flash.fla保存.

    中間件實(shí)現(xiàn)關(guān)鍵代碼如下:

    其中ReadIniFile函數(shù)是用于讀取INI配置文檔的操作函數(shù).讀取FLASH 作品的題號(hào)和答題目錄信息.

    3.2.2 JSFL文件解析過程

    中間件程序讀取FLASH 作品基本信息后,調(diào)用FLASH 主程序運(yùn)行JSFL腳本,對(duì)FLA 文檔進(jìn)行解析.該解析過程包括Document對(duì)象的屬性、筆觸對(duì)象屬性、庫(kù)對(duì)象屬性、濾鏡對(duì)象屬性、圖層屬性、幀屬性、幀中實(shí)例及對(duì)象屬性、場(chǎng)景信息屬性等信息.

    JSFL腳本是中間件實(shí)現(xiàn)的重要環(huán)節(jié).利用該腳本讀取FLA 文檔的屬性信息,并保存到解析文檔中.

    JSFL腳本執(zhí)行主體如下:

    其中,ExportFlash()是該腳本中的重要函數(shù),用于解析FLA 各種對(duì)象屬性.以案例為例:

    1)獲取圖層屬性的關(guān)鍵代碼

    其中WriteFlashProperty Value方法用于將獲取到的屬性,寫入到解析文檔中.JSFL中圖層對(duì)象以數(shù)組形式存放,其中的sound Name屬性和soundSync屬性分別用來獲取圖層聲音和同步方式的屬性.

    2)獲取圖層中對(duì)象Alpha屬性的關(guān)鍵代碼

    其中,JSFL中實(shí)例對(duì)象的color AlphaPercent屬性用來獲取Alpha百分比值.

    3)獲取幀對(duì)象中動(dòng)畫類型屬性的關(guān)鍵代碼

    JSFL中幀對(duì)象以數(shù)組形式存放,tween Type屬性用于讀取幀動(dòng)畫類型.如果是動(dòng)畫補(bǔ)間則返回“motion”,形狀補(bǔ)間則返回“shape”.

    4)獲取幀腳本的關(guān)鍵代碼

    JSFL中圖層對(duì)象的actionScript 屬性用于獲取該圖層的腳本代碼.

    FLA 文檔解析完成后,將生成解析結(jié)果文檔.

    3.2.3 中間件程序評(píng)價(jià)過程

    中間件程序獲得解析結(jié)果文檔,對(duì)解析結(jié)果進(jìn)行進(jìn)一步分析.以案例為例:

    1)圖層中聲音屬性評(píng)價(jià)關(guān)鍵代碼

    其中,cfp類中的Get Property方法用于讀取解析文檔中參數(shù)值.WriteIniFile方法用于將錯(cuò)誤信息輸出到結(jié)果文檔中.

    2)圖層同步方式評(píng)價(jià)關(guān)鍵代碼

    其中,如果同步方式是數(shù)據(jù)流,則返回“stream”.通過對(duì)返回字符串判斷,評(píng)價(jià)最終結(jié)果.

    3)圖層顏色屬性評(píng)價(jià)關(guān)鍵代碼

    由于數(shù)組下標(biāo)從0開始編號(hào),獲取第41幀屬性,在frame數(shù)組下標(biāo)為40的位置中.

    4)幀對(duì)象動(dòng)畫類型評(píng)價(jià)關(guān)鍵代碼

    如果該幀動(dòng)畫類型返回值為“motion”,則表示作品在該幀被設(shè)置為動(dòng)作補(bǔ)間.

    5)幀腳本評(píng)價(jià)關(guān)鍵代碼

    通過instr方法,對(duì)腳本進(jìn)行文本比對(duì),判定是否包含指定腳本.

    6)評(píng)價(jià)結(jié)果保存到文檔

    3.2.4 評(píng)價(jià)結(jié)果展示

    評(píng)價(jià)結(jié)果以INI配置文檔形式保存,基于以上案例,運(yùn)行結(jié)果配置文檔如下:

    中間件程序?qū)⑸傻脑u(píng)價(jià)結(jié)果文檔再次提交給評(píng)價(jià)系統(tǒng).評(píng)價(jià)系統(tǒng)讀取結(jié)果配置文檔信息,進(jìn)行處理.

    基于以上案例解析,只要對(duì)相關(guān)屬性值進(jìn)行判定,即能對(duì)FLASH 文檔中各個(gè)對(duì)象進(jìn)行綜合評(píng)價(jià).

    4 評(píng)價(jià)關(guān)鍵方法分析

    4.1 屬性直接比較法

    屬性判定比較方法是評(píng)價(jià)過程中最常見的方法,F(xiàn)LA 文檔中,文檔屬性、場(chǎng)景屬性、時(shí)間軸屬性.幀屬性、對(duì)象屬性等都可以直接由JFSL 讀取,進(jìn)行直接比對(duì)來進(jìn)行評(píng)價(jià).利用該方法可以實(shí)現(xiàn)絕大部分FLASH 文檔自動(dòng)評(píng)價(jià)的功能.

    4.2 正則表達(dá)式在文本處理中的運(yùn)用

    正則表達(dá)式(regular expression)是一種可以用于模式匹配和替換的強(qiáng)有力工具,是由一系列普通字符和特殊字符組成能明確描述文本字符的文字匹配模式[3].正則表達(dá)式既可以用于進(jìn)行字符串格式測(cè)試,更多的被用于快速進(jìn)行文本替換功能.

    FLASH 文檔圖層中的文本(Text)對(duì)象、幀腳本、對(duì)象腳本等都涉及純文本處理.由于文本、腳本等對(duì)象本身具有一定的靈活性,因此在對(duì)文本內(nèi)容進(jìn)行判定時(shí),需要進(jìn)行一定的預(yù)處理,以提高文本識(shí)別的正確性.

    中間件設(shè)計(jì)時(shí),使用JSFL讀取相關(guān)文本屬性,在屬性寫入解析文檔前,使用正則表達(dá)式進(jìn)行文本過濾后再寫入解析文檔.需要解析的文本包括空格、回車符以及換行符.其中正則表達(dá)式中\r用于匹配回車符,\n用于匹配換行符,/g表示全局匹配,/i表示忽略大小寫.使用JSFL實(shí)現(xiàn)的代碼如下:

    4.3 FLASH 實(shí)例旋轉(zhuǎn)和縮放的評(píng)價(jià)

    FLASH 對(duì)象中實(shí)例旋轉(zhuǎn)和縮放的評(píng)價(jià)方法較為復(fù)雜.因?yàn)樵贔LA 文檔中不能直接記錄文檔旋轉(zhuǎn)的角度以及縮放的比例.

    在JSFL中有一個(gè)Matrix類,用于將FLASH 中對(duì)象坐標(biāo)空間的點(diǎn)映射到另一個(gè)坐標(biāo)空間,并可以對(duì)該對(duì)象執(zhí)行各種圖形轉(zhuǎn)換.matrix 對(duì)象被視為是一個(gè)3*3的矩陣:

    其中,a、b、c、d參數(shù)可以通過Matrix類的方法獲取.

    當(dāng)圖形對(duì)象以單位為x弧度進(jìn)行旋轉(zhuǎn)后,該矩陣變化為:

    現(xiàn)有以下案例:在“main”場(chǎng)景“照片”圖層第90幀中插入關(guān)鍵幀,將該幀中的照片實(shí)例縮小為原來的70%并旋轉(zhuǎn)-20度.

    首先通過JSFL獲取照片實(shí)例的Matrix屬性a、b、c、d的值,實(shí)現(xiàn)代碼如下:

    中間件程序讀取解析結(jié)果文檔,根據(jù)獲取到的Matrix相關(guān)屬性進(jìn)行判斷.

    由于案例中,需要縮放為原來的70%,并旋轉(zhuǎn)-20度.假設(shè)評(píng)價(jià)過程中允許有±10度的誤差.根據(jù)以上原則,判定表達(dá)式為:

    sngX和sngY為變化后的實(shí)例對(duì)象寬和高,原始素材實(shí)例對(duì)象寬和高分別為652.7像素和437.9像素.實(shí)現(xiàn)該過程的代碼如下:

    雖然該方法在一定程度上也存在一定的誤差,但通過該方法可以將評(píng)價(jià)誤差降低到最小,以此提高評(píng)價(jià)的正確性.

    5 總結(jié)

    綜合使用上述基于JSFL的FLASH 自動(dòng)評(píng)價(jià)中間件,在高中信息技術(shù)教學(xué)、浙江省高中信息技術(shù)會(huì)考、大學(xué)計(jì)算機(jī)基礎(chǔ)中都得到了充分的運(yùn)用,并獲得理想的效果.該技術(shù)不但減輕了教師的工作量,同時(shí)也提高評(píng)價(jià)的公平性和科學(xué)性,對(duì)教師教學(xué)和學(xué)生自主學(xué)習(xí)都帶來了很大的幫助.

    [1]賈勇,孟權(quán)國(guó).完全掌握Flash CS6白金手冊(cè)[M].北京:清華大學(xué)出版社,2013.

    [2]隋秀龍.基于JSFL自動(dòng)批改Flash操作題的研究及實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2005(5):78-79.

    [3]高春艷.JavaScript入門經(jīng)典[M].北京:機(jī)械工業(yè)出版社,2013.

    [4]隋秀龍.基于JSFL自動(dòng)批改Flash操作題的研究及實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2015(5):77-79.

    猜你喜歡
    中間件腳本圖層
    酒駕
    安奇奇與小cool 龍(第二回)
    數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
    RFID中間件技術(shù)及其應(yīng)用研究
    電子制作(2018年14期)2018-08-21 01:38:10
    基于VanConnect中間件的設(shè)計(jì)與開發(fā)
    巧用混合圖層 制作抽象動(dòng)感森林
    快樂假期
    圖層法在地理區(qū)域圖讀圖中的應(yīng)用
    中間件在高速公路領(lǐng)域的應(yīng)用
    淺析“遞層優(yōu)化法”在礦井制圖中的應(yīng)用
    河南科技(2014年6期)2014-04-04 08:00:42
    蕉岭县| 宝兴县| 英山县| 遂宁市| 新河县| 万州区| 新竹县| 古交市| 蒙城县| 新竹县| 高青县| 蒲江县| 寿宁县| 错那县| 思茅市| 兰州市| 南昌县| 乐亭县| 丰原市| 丰县| 浦东新区| 盈江县| 肇东市| 甘洛县| 华容县| 韶关市| 平阴县| 紫金县| 肥城市| 华池县| 仁寿县| 突泉县| 麻城市| 利津县| 罗城| 五河县| 镇安县| 湾仔区| 安泽县| 呈贡县| 满洲里市|