江榕春
在信息技術新課標中,提倡培養學生的問題解決能力,那么一線教師如何改變傳統的教學模式,切實提高學生的問題解決能力呢?在《動畫設計與制作》單元,筆者嘗試采取PBL項目式學習的方式,以“開心樂園”項目為主題,以“提出問題—分析問題—尋找問題解決方案—解決問題”為主要流程,設計了8個子項目按課時分步完成。下面以《Flash按鈕中的代碼》教學設計為例,闡述PBL項目式學習的一般操作方法。
設計意圖
在前期學習活動中,學生已經制作了自己的半成品動畫作品,涵蓋了逐幀動畫、補間動畫、遮罩等技術,分三個不同場景展現了《開心樂園》風貌,迫切需要通過按鈕改變只能線性播放、不能跳轉的狀況。因此,筆者設定本課的項目子課題是《體驗交互動畫》,擬通過按鈕中的代碼來控制動畫的播放和跳轉,以實現交互功能。為達到預期效果,又設計了典型案例,其中包含三個按鈕,既有公用庫按鈕,也有自己制作的按鈕,一方面讓學生學會調用現成的按鈕,探究按鈕中的On函數代碼所對應的鼠標(鍵盤)事件;另一方面讓學生學會自己制作按鈕,認識按鈕中的各關鍵幀所對應的鼠標事件,并與代碼中的鼠標事件相對照,深度理解代碼的含義和功能,最終使學生在項目解決過程中,能根據需要靈活選擇相應的代碼,在動畫播放過程中,通過單擊不同按鈕實現較為復雜的交互功能。
教材分析
本課是蘇科版初中信息技術教材八年級第一章《動畫設計與制作》第四節《體驗交互動畫》中的第二課時《按鈕中的代碼》。在上一課時的學習中,學生已經學會通過動作面板在關鍵幀中輸入簡單時間軸控制代碼的方法,理解了play()、stop()等代碼的含義,能根據需要在關鍵幀選擇正確的代碼實現一定的控制功能。本課在掌握“關鍵幀中的代碼”的基礎上,讓學生進一步通過按鈕更加靈活地實現交互功能。
學情分析
在前期學習中,學生已經初步掌握了影片剪輯的制作和調用方法,制作了自己的半成品動畫作品,能在關鍵幀中輸入簡單時間軸控制代碼,實現停止、繼續播放等功能,但是只能線性播放,不能跳轉到其他場景,需要通過按鈕來實現交互。本課將在此基礎上,進一步探討按鈕的制作和調用方法,認識鼠標和鍵盤事件,探究如何根據事件選用相應的代碼,實現交互。
教學目標
(1)學會從公用庫中調用按鈕,能在按鈕實例中輸入代碼實現交互。
(2)認識按鈕元件和鼠標事件,學會按鈕制作方法,并能根據需要在鼠標事件中輸入正確的ActionScript代碼。
(3)激發學習興趣,能創造性地制作交互動畫作品。
(4)在制作交互動畫的過程中培養學生的創新思維,提高問題解決能力。
教學重難點
重點:制作按鈕元件;向按鈕中輸入合適代碼實現交互。
難點:針對每個按鈕的不同鼠標事件,以正確的書寫格式輸入ActionScript代碼。
教學流程
1.情境導入,提出問題
教師選擇2份優秀學生動畫作品,請學生欣賞,在播放動畫的同時點評優點,并提出需求:如何控制動畫的播放和跳轉,實現交互?
設計意圖:本單元從使用繪圖工具繪制動畫場景、制作逐幀動畫、制作形狀補間動畫、新建元件制作動畫補間動畫,到運用運動引導線、遮罩等技術,經過6節課的設計和制作,學生動畫作品已經包含了三個場景,具有一定的故事情節,不足之處也越來越明顯,那就是只能線性播放,無法靈活跳轉到其他場景。通過欣賞學生作品,可以充分暴露這一不足,從而自然而然地提出本課的項目子課題“如何實現交互動畫”。
教師請學生打開學習資源包,運行“探究1.swf”交互動畫,觀察教師實現交互動畫的方法,并回答以下問題:①該場景增加了哪些對象?②每個按鈕的狀態有幾種?③每個按鈕的功能是什么?④如何實現該功能?請提出解決方案。
設計意圖:本環節讓學生在動畫場景中觀察新的對象——按鈕,嘗試將鼠標指針指向每個按鈕,通過懸浮或單擊等動作,直觀感受不同鼠標事件下按鈕的不同形態,體會按鈕元件的特點,研究每個按鈕的功能,綜合分析這些按鈕的作用,并設身處地思考自己的動畫要實現交互功能,需要做哪些操作,按什么順序進行,最終通過討論提出解決方案:先制作按鈕元件,再通過代碼實現相應功能。
2.自主嘗試,調用公用按鈕
教師打開動畫源文件,切換到場景2,示范如何打開公用庫中的按鈕庫,并從中選擇合適的按鈕,拖到舞臺上適當位置,測試影片,讓學生觀察按鈕的“彈起”“鼠標經過”“按下”“點擊”四種不同形態,并進一步提出問題:為什么單擊“停止”按鈕沒有停止播放動畫?啟發學生回憶起關于“停止”功能的代碼,這時學生躍躍欲試,想自己親手實踐。
教師布置任務1:自主嘗試調用公用按鈕制作交互動畫。
教師觀察、輔導學生制作。尋找制作比較快的學生(作品基本完成,但單擊停止按鈕無法控制動畫),演示他的交互動畫,提醒學生觀察出錯提示,尋找錯誤的根源在于按鈕中的代碼:stop();。
教師根據出錯提示,帶領學生觀察時間軸關鍵幀上的a標記,講解出錯原因在于“stop();”命令是關鍵幀中的代碼,而不是按鈕中的代碼,強調按鈕中的代碼必須使用On處理函數,指明該代碼所要響應的鼠標或鍵盤事件,然后演示修改方法,通過動作面板,將此按鈕中的代碼修改為:On(press){stop();}。教師解析代碼含義為:當按下鼠標左鍵時就運行大括號內的代碼組(本例只有一條代碼:停止播放)。然后重新測試場景,出錯提示消失,且“停止”按鈕的功能準確實現了。
設計意圖:上節課學習關鍵幀中的代碼時,學生已經掌握stop();代碼的功能,這時極易直接運用該代碼來實現停止功能,但在測試時系統必然會呈現出錯信息,教師可抓住機會充分利用出錯提示,來促進學生主動思維,當回溯到環節一對鼠標事件的體悟時,學生可順利發現問題之癥結,并嘗試一步步解決問題。
接下來,請學生繼續修改代碼,完成“播放”“停止”按鈕的制作并測試場景。根據完成情況,提出新問題:除了“按下鼠標”事件外,還有哪些事件?如何觸發這些事件?
教師布置任務2:探究其他鼠標事件。
按鈕的動作代碼必須以某種鼠標(鍵盤)事件來觸發,除了“按下左鍵”外,還有其他事件,可根據需要選擇使用。教師要求學生嘗試修改On函數中的事件代碼,通過測試影片,反過來體會代碼觸發條件,并在學案中做出記錄。
小結:只有發生相應的鼠標或鍵盤事件時,才會觸發對應的代碼,如“release”(按下鼠標左鍵再放開)、“rollover”(當鼠標經過按鈕)、“keypress”(當用戶按下鍵盤上某鍵)。
設計意圖:任務2的設計目的在于讓學生舉一反三,進行知識遷移,探究鼠標事件,有利于全面充分地開發一個按鈕的多項功能,也為下一個環節自制按鈕的四個關鍵幀埋下伏筆,提高問題解決能力。
3.自主創新,自制按鈕
教師重新播放示例動畫,提問:“龜兔賽跑”按鈕特別在哪里?能從公用庫直接調用嗎?答案是必須自制。
(1)按鈕元件的制作。教師演示操作流程,單擊“插入/新建元件”命令,選擇“按鈕”類型,輸入按鈕名稱,創建“龜兔賽跑”按鈕元件,分析其中每個關鍵幀的含義及其對應的鼠標事件。
(2)布置任務3:制作“龜兔賽跑”按鈕并輸入代碼,以便單擊該按鈕跳轉到“龜兔賽跑”場景。在制作過程中需要思考的問題如下:①如何啟發觀眾明確本按鈕的功能?②按鈕中的四個幀缺一不可嗎?③你能創造性地制作出其他交互動畫嗎?
設計意圖:任務3具有較大的開放性,讓學生帶著三大問題開啟任務的目的在于培養其設計思維,讓學生站在用戶立場思考按鈕制作需要有較強的指向性和實用性,要有一定的美觀度,能整合整個作品。最終,個性化的作品才能體現出學生對本課技術的創新運用水平。
4.展示作品,總結提升
教師最后展示學生作品,單擊每個按鈕測試其功能,進行作品評價,然后師生共同總結本節課的知識點,提高學生的總結能力。要點如下:①在flash動畫制作中可以使用按鈕,存入代碼實現交互。②按鈕可以自制,也可以直接調用庫中的按鈕。③按鈕中的代碼要滿足一定的條件才能執行。
教學反思
PBL項目式學習是國內教育界逐漸興起的一種新的學習形態,旨在以真實情境為背景,基于現實主題,運用學科知識,習得必要技能,以學生為中心去解決真實問題。開展PBL項目式學習,需要教師具備選擇合適的項目主題的能力,來自真實問題的挑戰可有效激發學生內驅力。筆者在動畫制作單元引入項目式學習,以“開心樂園”為主題,整合了繪畫、故事新編以及信息技術,處處以學生為中心,讓學生自己設計動畫場景和故事情節,通過代碼制作“龜兔賽跑”故事新編。在漫長的項目解決過程中,需要學生不斷明確問題所在,學會分析問題并提出問題解決方案。當然,在解決問題的過程中,又會不斷遇到新的問題,此時教師不妨根據知識體系和制作過程中可能遇到的異常情況,拋出系列問題讓學生自主探究,利用軟件自身的出錯提示、幫助信息,啟發學生主動思考,進一步探究解決的方法,這樣養成思考和探究的習慣后,才能自然而然地培養學生的問題解決能力。當然,項目式學習會受到學生水平差異的影響,難以統一進度,需要教師的正確引導和小組成員合作來調和。
點? 評
項目學習在信息技術教學新授課中之所以存在較大的困難,主要原因在于課堂時間和學習內容等不協調。本篇教學設計從項目主題引出“子課題”,很好地解決了這個問題,把項目放在較多的課時內解決,用子課題重點解決一類問題(本節課解決的是按鈕交互)就能很好地分解項目,讓項目學習可持續、可操作。本節課還有一個優點是針對問題來進行流程設計,“提出問題—分析問題—尋找問題解決方案—解決問題”的流程能夠讓教學過程更清晰。可見,項目學習與問題解決策略恰當融合非常有益。當然,在項目學習的子課題設計及學習中,我們要注意內容的開放性、作品的個性化、問題的深度等細節,以使子課題更能體現項目學習的特色。