吳 云 虎
(揚州職業(yè)大學(xué), 江蘇 揚州 225009)
線上線下混合式教學(xué)實施效果的一個關(guān)鍵點是看線下學(xué)生的自主性學(xué)習(xí)過程能否得到有效保障[1],從目前混合式教學(xué)實施情況看,教學(xué)信息主要的承載軟件是微軟公司演示文稿PowerPoint,演示文稿用戶界面簡潔,風(fēng)格統(tǒng)一,而且容易上手,課件制作效率高,足以勝任日常普通教學(xué)活動需求。學(xué)前兒童活動領(lǐng)域的自主性學(xué)習(xí)要求演示文稿具備智能性、可控性和靈活性特征,這時演示文稿中僅有的超鏈接、動作、按鈕和觸發(fā)器等功能的交互性就顯得很薄弱。為了增強演示文稿的動態(tài)交互功能,國內(nèi)外研究提出了兩類主要解決方案,一類是利用VSTO擴展Office應(yīng)用程序,這在本質(zhì)上已經(jīng)屬于應(yīng)用程序底層開發(fā),操作自由性程度大,但技術(shù)要求也很高[2];另一種方法是利用第三方ActiveX圖形控件,這是目前研究中比較普遍使用的方法[3]。ActiveX圖形控件沿襲Windows程序開發(fā)制式標(biāo)準(zhǔn),其設(shè)計樣式經(jīng)常難于與當(dāng)前課件界面上設(shè)計形象進行整體協(xié)調(diào)。本研究基于面向?qū)ο蟮木幊谭椒?使用VBA宏語言,挖掘Office應(yīng)用程序中交互功能[4],設(shè)計的課件可以直接通過鼠標(biāo)單擊和懸停動作,實現(xiàn)對幻燈片上實例對象的控制操作,從而能夠很好地滿足自主學(xué)習(xí)中的人機交互需求。
在Microsoft演示文稿中Shape對象模型的派生體系如圖1所示,這些數(shù)量眾多的Shape體系對象,對父輩屬性及方法進行繼承和派生,并被組織在體系巨大的“PPT對象模型”的層次架構(gòu)中[5]。在這個體系中應(yīng)用為頂級核心對象,演示文稿集和當(dāng)前活動演示文稿均為頂級對象,可以直接對它們的屬性和方法進行引用。在演示文稿對象類型中,自選圖形、任意多邊形、OLE對象和圖片等都屬于Shape對象類型,它們在演示文稿上的外顯稱為由Shape對象創(chuàng)建的具體應(yīng)用實例。需要從頂級對象逐級索引到這些對象,才能對其屬性和方法實施引用,繼而去改變由Shape對象創(chuàng)建的所有實例的屬性和行為。在演示文稿放映模式下,系統(tǒng)通過鼠標(biāo)事件觸發(fā)機制對實例的事件處理方法中的用戶預(yù)定義代碼,亦即系列Shape對象屬性和方法的引用,以批處理方式執(zhí)行。
圖1 PPT對象模型中Shape派生體系
Shape實例交互過程swap方法見表1。參數(shù)ByVal oSh As Shape的作用是通過按值傳遞方法獲取指向活動實例的指向句柄oSh。swap交換方法的代碼編寫是開放性的,在User Batch Code部分,按照教學(xué)設(shè)計預(yù)輸入一系列Shape對象屬性和方法的引用集合,就可以對演示文稿上所有創(chuàng)建實例進行目的性操縱,進而達成預(yù)期的教學(xué)目標(biāo)。還有一類系統(tǒng)的方法,如由Shape對象創(chuàng)建的實例的顯隱性設(shè)置,它們的處理方法是由已經(jīng)固定編譯好的系統(tǒng)處理代碼,在必要的時候只需要調(diào)用即可。這些方法的調(diào)用格式為“對象(實例名稱).方法”,對象與方法之間要使用“.”隔開,如ActivePresentation.Slides(1).Shapes(“victory”).Visible=msoFalse。
表1 實例交互swap方法和過程
在交互式演示課件制作過程中,首先,建議修改實例對象的名稱和初始狀態(tài),這樣可以避免演示文稿中的實例出現(xiàn)難以辨別的簡單增序式的自動命名方式,更方便于VBA腳本對實例的循名使用。其次,增加鼠標(biāo)事件的處理方法,通過“開發(fā)工具”菜單→“代碼”功能區(qū)→“宏”組創(chuàng)建事件處理方法,并在進入的VBE腳本編輯器中編寫User Batch Code。首次使用開發(fā)工具需要在“文件”菜單→“選項”設(shè)置→“自定義”功能區(qū)的“主選項卡”中勾選“開發(fā)工具”選項。最后,在“插入”菜單→“鏈接”功能區(qū)→“動作”選項處打開的“操作設(shè)置”窗口中,選擇鼠標(biāo)事件類型(單擊/懸停),并在其下“運行宏”欄目中綁定鼠標(biāo)事件處理方法。這樣就完成了制作VBA交互式課件的工作流程。
對社會、科學(xué)、語言和健康等不同領(lǐng)域兒童活動的組織形式進行總結(jié),可以將幼教PPT交互式課件分為認知辨別、適項選擇、匹配分類和拼圖整合等基本類型。這些不同類型交互式課件的系統(tǒng)設(shè)計環(huán)節(jié)都具有相似性,都應(yīng)該包括問題情境、應(yīng)答操作和結(jié)果反饋三個部分。各類問題情境的形式設(shè)計也都基本相同,都是以“圖形圖像”信息形式提出問題并構(gòu)建出對應(yīng)情境,因此提出的問題要明確,情境要適宜。應(yīng)答操作需要把所有可能的操作選項全部羅列出來,系統(tǒng)都能做出相應(yīng)的反應(yīng),要求突破傳統(tǒng)應(yīng)答設(shè)計中一題一答、一頁一題的技術(shù)限制;在應(yīng)答操作過程中,提供適當(dāng)提示和幫助,以提高幼兒成功的機會。結(jié)果反饋能夠?qū)φ_的應(yīng)答操作給予鼓勵性反饋;對有缺點的和錯誤的應(yīng)答操作還應(yīng)當(dāng)給予續(xù)做或重做的機會[6]。
2.2.1 定位
定位在這里是指幼兒完成應(yīng)答操作后,應(yīng)用程序根據(jù)幼兒的操作指向意圖,將活動圖形實例移動到所指定區(qū)域的方法。例如,在幼兒園小班語言領(lǐng)域《小動物們最愛吃什么》組織活動中,電子白板上每個小動物的嘴巴面前都雜亂地分布著不同的食物?,F(xiàn)在需要幼兒為小兔子選擇最愛的食物,當(dāng)兒童選中胡蘿卜圖形實例后,就需要將胡蘿卜圖形實例移動到小兔子嘴巴面前。在具體的實現(xiàn)方法上,可以在每個小動物的嘴巴面前區(qū)域都放置一個單一食物圖形實例,在幼兒應(yīng)答操作(兩次不同實例上的單擊)完成后,將小兔子嘴巴面前區(qū)域的圖形實例與胡蘿卜圖形實例交換位置坐標(biāo),這樣就可以將胡蘿卜圖形實例定位到指定區(qū)域了,而幼兒此時也完成了一次應(yīng)答操作。
2.2.2 判斷
判斷是幼兒每一次完成應(yīng)答操作后,系統(tǒng)對幼兒應(yīng)答操作的正誤情況進行評估的方法。判斷的具體方法是,在實例名稱中預(yù)先設(shè)置特征字符,當(dāng)系統(tǒng)運行時通過比對特征字符是否匹配來確定兩個實例間的關(guān)系。例如,將一系列位置圖形實例依次命名為T1,T2,T3……,需要執(zhí)行移動的圖形實例名稱對應(yīng)命名為S1,S2,S3……,這里的特征字符分別是1,2,3……,這樣只需要遍歷一次所有特征字符相同的圖形實例配對的坐標(biāo)是否一致并計數(shù),就可以知道幼兒應(yīng)答操作過程中進度完成的情況。
選擇幼兒津津樂道的電影《熊出沒》中的卡通形象為例,設(shè)計并制作一個拼圖整合型的交互式課件。
首先,準(zhǔn)備一張JPG格式《熊出沒》中卡通形象的圖片文件,要求圖片色彩鮮艷,像素清晰。在圖像素材網(wǎng)下載的圖片需要在Photoshop中進行預(yù)加工,比如消除網(wǎng)站和廣告標(biāo)記,調(diào)整圖片色彩,以及裁剪重新構(gòu)圖。其次,在PPT中繪制“無填充色”正方形,使用“合并形狀”中“形狀拆分”和“形狀結(jié)合”操作,在正方形直邊緣設(shè)計出榫槽狀接口,將這些正方形復(fù)制形成3×3組合。把調(diào)整好的組合置于圖片上層并全選,需要注意的是,在全選順序上要先選中圖片,再選中正方形組合,使用合并形狀中的形狀拆分操作,將圖片分割成9小塊,依次命名為T1,T2,T3,……,T9,并設(shè)置成隱藏狀態(tài)。再將前面分割出來的9小塊圖像復(fù)制一份,設(shè)置成顯性狀態(tài),復(fù)制圖片依序命名為S1,S2,S3,……,S9,需要注意將圖片位置調(diào)整對齊。最后,在PPT設(shè)計場景上還需要增加幫助圖形help實例,以及初始狀態(tài)為隱藏屬性的應(yīng)答操作成功的圖片victory實例和提供對照幫助的圖片information實例等。
現(xiàn)在需要通過“開發(fā)工具”創(chuàng)建名為swap的宏,并在自動進入的VBE編輯器中增加方法所需要的傳遞參數(shù)ByVal oSh As Shape,全局變量temporaryX,temporaryY用來保存移動實例的現(xiàn)場位置坐標(biāo),開關(guān)變量flag用來控制實例配對的位置交換,全局變量firstSelected用來保存位置交換中第一單擊實例的名稱,編寫的批處理代碼如表2所示,在動作設(shè)置中分別為實例S1,S2,S3,……S9選擇鼠標(biāo)事件類型為“鼠標(biāo)單擊”,并在“運行宏”欄目將其綁定到swap事件處理方法。
表2 《熊出沒》卡通拼圖定位與互換方法的代碼
在VBE中增加拼圖進度的檢測判斷isFinished過程如表3所示。
表3 《熊出沒》卡通拼圖檢測、判斷和反饋方法的代碼
最后還需要創(chuàng)建名為help的宏,定義開關(guān)變量hlp用來控制幫助實例的顯隱屬性,編寫的批處理代碼如表4所示,在“動作”設(shè)置中為幫助實例添加鼠標(biāo)事件類型為“鼠標(biāo)懸?!?并在“運行宏”欄目將其綁定到help事件處理方法中。
表4 《熊出沒》卡通拼圖幫助方法的代碼
在幻燈片放映模式下,我們可以先后單擊需要交換位置的兩個圖形實例,這時系統(tǒng)就會由“鼠標(biāo)單擊”事件觸發(fā)swap方法,將選中的兩個圖形實例的位置進行互換。當(dāng)所有圖形實例都互換到預(yù)設(shè)的正確位置時,檢測判斷isFinished過程就會反饋出成功的結(jié)果。拼圖區(qū)域左側(cè)的幫助實例使用“鼠標(biāo)懸?!庇|發(fā)事件,可以在拼圖區(qū)域上顯示出完整的拼圖圖樣,隨時給拼圖過程提供對照幫助。課件設(shè)計能夠很好地滿足幼兒教學(xué)活動中既定交互性要求。
在演示文稿中鼠標(biāo)“動作”設(shè)置雖然只提供了“鼠標(biāo)單擊”和“鼠標(biāo)懸?!眱深愂录?但合理的組合使用就完全能夠滿足大部分交互式課件的設(shè)計需求。另外幼教PPT交互式課件制作過程中的最大問題就是素材準(zhǔn)備周期比較長,使得課件產(chǎn)出效率較低,在實踐中通過發(fā)布已預(yù)設(shè)VBA腳本代碼的模板,發(fā)動學(xué)前專業(yè)全體學(xué)生,群策群力共建素材庫進行解決。這就要求模板結(jié)構(gòu)和方法簡潔,VBA控制代碼邏輯性好,易于修改和維護。這樣學(xué)前專業(yè)的學(xué)生通過復(fù)制所需要的模板,對幻燈片上圖形圖像實例進行更新;查看VBA代碼及相應(yīng)功能注釋,適當(dāng)修改程序中相關(guān)編碼;測試演示文稿功能,版式適當(dāng)調(diào)整后,就能進行課件的二次發(fā)布。從增強交互式課件應(yīng)用功能的角度看,未來的課件系統(tǒng)設(shè)計還應(yīng)當(dāng)考慮幼兒應(yīng)答操作的痕跡記錄以及錯題重演等功能。