鮑通
一般來說,線性思維有助于深入思考,探究事物的本質(zhì),側(cè)重于“目的”;非線性思維有助于拓展思路,理清事物的普遍聯(lián)系,側(cè)重于“過程”。二者并舉,至于如何調(diào)控,不同的人有不同的看法。對于非線性思維的特征而言,哪怕初始條件有一個很小的變化,都有可能造成結(jié)果的巨大改變。目前,非線性思維對創(chuàng)新教育的影響日益凸顯,如STEM研究性學(xué)習(xí)、非線性寫作等。下面,筆者將以兒童歌曲《讓我們蕩起雙槳》為例進(jìn)行實踐探究。
● 戴上耳機(jī)找靈感
1.實施方法——體現(xiàn)主題的音樂文本
對于《讓我們蕩起雙槳》這首歌,很多學(xué)生都已經(jīng)熟悉了,閑暇時光,讓學(xué)生帶上耳機(jī)再次聆聽美妙的音符。伴隨著動聽的歌聲,學(xué)生可以成為“項目發(fā)起人”,在歌詞和旋律中捕獲靈感,并將音樂中的意境和感悟分享給其他同學(xué)或者合作伙伴,引起情感共鳴,進(jìn)而提高參與者的積極性、激發(fā)團(tuán)隊活力,學(xué)生在聽歌的同時即可構(gòu)思如何用編程動畫來呈現(xiàn)腦海里的某一段景象。
2.策略意圖——目標(biāo)靈活化
歌詞最重要的是意境,而意境最重要的是表達(dá)?!笆幤痣p槳”“小船飄蕩”“海面倒映白塔”“水中魚兒望著我們”等,這些帶有動作色彩的內(nèi)容都可以用可視化編程腳本搭配多種素材實現(xiàn)動畫效果。因為對于歌詞而言,不同的人有不同的想象,所以表達(dá)出來的動畫效果自然也就不盡相同,學(xué)生對學(xué)習(xí)內(nèi)容的選擇應(yīng)該具有靈活性和隨意性。例如,非靈活的目標(biāo):為了有教養(yǎng)而讀書;靈活的目標(biāo)則是為了有教養(yǎng),每周讀一本書。編程同理。非靈活的目標(biāo)是為了MV更有趣,請大家一起來創(chuàng)作;靈活的目標(biāo)則是為了MV更有趣,請你選擇一兩句自己喜歡的歌詞進(jìn)行創(chuàng)作。靈活性目標(biāo)是具體的、可操作的,并且劃分了一定的層次,這樣按階段實現(xiàn)起來就會比較輕松一些。
● 拿起畫筆繪思維
1.實施方法——呈現(xiàn)結(jié)構(gòu)的思維導(dǎo)圖
為了梳理創(chuàng)作思路,使項目中涉及的知識體系化,“項目發(fā)起人”可以通過思維導(dǎo)圖表達(dá)思維過程,將與主題相關(guān)的各層面繪制出來(也可多人一起參與)。
第一層:主題,最能表達(dá)中心思想的語句,一般為歌曲的名稱,即“讓我們蕩起雙槳”。
第二層:分析歌詞的內(nèi)容,結(jié)合動畫創(chuàng)作的可行性,將歌詞拆分再進(jìn)行重組。通常情況下相鄰的兩句歌詞為一個單元,分配一組鏡頭,如A組鏡頭、B組鏡頭、C組鏡頭等,然后作為分支與主題相連(如下頁圖1)。
第三層:為每組鏡頭(每組歌詞)尋找關(guān)鍵詞,篩選出最能表達(dá)歌詞內(nèi)容的詞語,如雙槳、小船、波浪、海面、白塔等,作為該鏡頭組中的主要元素與上一級相連。
第四層:為每組鏡頭分配素材,確定鏡頭組中的場景以及該場景下的若干角色。一般歌詞中的關(guān)鍵詞即為角色。素材主要包括圖片、文字以及音效等。
再往下分層就是更加細(xì)致的構(gòu)思了,如“小船兒推開波浪”中的“推開”動作如何實現(xiàn),或者雙槳如何“蕩起”等。另外,如果要求歌詞與動畫同步,那么每組鏡頭的時間分配也是一個重要因素。初創(chuàng)不建議太復(fù)雜,隨性自由一些為好,負(fù)責(zé)該組鏡頭的學(xué)生可根據(jù)實際情況決定是否還需延伸。
2.策略意圖——任務(wù)分層化
圖文并茂、形式多樣的思維導(dǎo)圖將歌詞劃分為多個層次,具體化了源自音樂的創(chuàng)作靈感,也相當(dāng)于將一個大的任務(wù)分割成了若干個子任務(wù)。所以,為了避免“牽一發(fā)動全身”的水波效應(yīng),鏡頭組之間要盡量減少聯(lián)系,即一個鏡頭組動畫盡量減少與另一個鏡頭組動畫的關(guān)聯(lián),以此降低耦合度。但對于一個鏡頭組本身而言,內(nèi)部各元素之間的聯(lián)系反而要緊密,提高內(nèi)聚度,確保一個分支動畫的連貫性和完整性。任務(wù)分層化,消除了任務(wù)之間明顯的分支判斷,加強(qiáng)了任務(wù)內(nèi)部零散的邏輯關(guān)系,它以“高內(nèi)聚,低耦合”為原則,確保項目設(shè)計的清晰合理,也為下一步“程序模塊化”奠定基礎(chǔ)。
● 敲擊鍵盤編智慧
1.實施方法——實現(xiàn)鏡頭的腳本搭建
第一步:定義本項目中的命名規(guī)則。如果是多人合作,那么這一步非常重要。
鏡頭組別:建議以圖1的思維導(dǎo)圖為準(zhǔn),也可自定義(如:A,B,C …)。
場景:鏡頭組別-C編號(如A組鏡頭場景:A-C01,A-C02,A-C03 …)。
角色:鏡頭組別-J編號(如B組鏡頭角色:B-J01,B-J02,B-J03 …)。
第二步:制訂程序框架及流程示意,全程以“場景切換”為觸發(fā)點展開。程序中的詞語解釋及流程簡述如下。
函數(shù):定義鏡頭組編號,即組別(可視為接口)。
清場:將所有角色的屬性回歸初始化狀態(tài)。
開機(jī):調(diào)用第一個場景,緊跟著是演示該場景下的角色動作,完畢后清場(需要注意的是,如果該場景下有多個角色陸續(xù)或者同時出現(xiàn),如魚兒游、鳥兒飛,則可以采取并行的方式實現(xiàn),然后將清場安排在最遲完成的動作之后。此處,時間差的計算是關(guān)鍵,必要時也可另設(shè)廣播。下頁圖2中省略了多角色在同一場景中互動或并行的情況)。
第一個場景結(jié)束后(動畫結(jié)束+清場完畢),如果還有下一個場景,則進(jìn)行跳轉(zhuǎn),且演示下一個場景中的角色動作,完畢后清場;如果沒有下一個場景,則“關(guān)機(jī)”,結(jié)束本組鏡頭。
關(guān)機(jī):在分組鏡頭中作為一個“預(yù)留”功能,為最后串聯(lián)多組鏡頭的工作做鋪墊。
第三步:完成一組鏡頭的制作后,導(dǎo)出場景和角色。
主程序?qū)懺谖枧_場景里,子程序?qū)懺诟鱾€角色里,完成及測試順暢后均要做“導(dǎo)出”操作。其中,場景導(dǎo)出后僅為圖片,文件的后綴名為svg或png;角色導(dǎo)出后則將攜帶已有程序,文件的后綴名為sprite3。
2.策略意圖——程序模塊化
模塊化設(shè)計,并非直接寫出計算機(jī)程序,而是通過主程序調(diào)用子程序或子過程的形式搭建一個框架結(jié)構(gòu),即通過函數(shù)調(diào)用實現(xiàn)一系列聯(lián)動機(jī)制。這樣的設(shè)計不僅讓各部分程序變得簡明直觀,還可將經(jīng)常用到的功能編寫成通用函數(shù)以提高執(zhí)行效率。一個好的抽象必須能表達(dá)出“是什么”或者“做什么”,而盡量隱藏“怎么做”,如下頁圖2所示,將一個鏡頭組內(nèi)部繁雜的業(yè)務(wù)邏輯,最終封裝成為一個函數(shù)接口,便于主程序調(diào)用。此處需說明:Scratch函數(shù)目前沒有返回值功能,所以借助一條“關(guān)機(jī)”消息來標(biāo)識一個鏡頭組的結(jié)束。變量也可以實現(xiàn),只是于分支中使用會因增加一條命名規(guī)則而帶來不必要的麻煩。
● 拉開幕布展創(chuàng)意
1.實施方法——展現(xiàn)動畫的鏡頭組合
第一步:新建一個可視化編程空白文檔,命名為“總鏡頭”,即《讓我們蕩起雙槳》這首歌的可視化編程動畫總鏡頭。
第二步:在舞臺場景中定義函數(shù),如圖3所示,函數(shù)中的具體流程與分支鏡頭相吻合。
第三步:導(dǎo)入各個鏡頭組的場景和角色,并完成主程序調(diào)用。通過主程序?qū)⒏鱾€鏡頭組串聯(lián),就實現(xiàn)了類似酷狗音樂中“串串動畫”的效果。需要注意的是,程序中需要捕獲“關(guān)機(jī)”消息,通過標(biāo)識變量來控制分支鏡頭依次調(diào)用。總鏡頭的表演時長(動畫時長)以整首歌曲播放的時間為準(zhǔn),該規(guī)則僅在主程序中設(shè)定即可。
至此,歌曲動畫基本已經(jīng)實現(xiàn)了對各個分支鏡頭組的自由搭配,其次序靈活,且任意修改或刪減其中的鏡頭不會影響整體的運(yùn)行狀態(tài),即稱之為滿足于用戶多樣化的體驗需求,進(jìn)而說明,這種多人參與的模式可行。當(dāng)然,對于程序中難免出現(xiàn)的一些問題,還需創(chuàng)作團(tuán)隊利用一些常見的測試方法,通過異常處理機(jī)制及時加以解決。綜上所述,整個制作過程和運(yùn)行模式呈非線性特點,具體功能實現(xiàn)和效果預(yù)覽呈線性特點,二者并舉,相互依存又相互促進(jìn)。
2.策略意圖——成果多樣化
本文的方法是圍繞一首歌進(jìn)行創(chuàng)作,既要緊扣歌曲的主題特色,又要符合歌詞的內(nèi)容大意,這仍然帶有“局限性”。其實,學(xué)生還可以在完全脫離歌詞大意的情況下,隨性設(shè)計一些有趣的小動畫,然后對其進(jìn)行分類,如生活類、喜劇類、冒險類、科幻類等,最終可選取與歌曲主題相接近的幾段拼搭起來作為這首歌的MV,當(dāng)然,如果選取與主題毫不相關(guān)的,甚至完全將歌曲換成詩歌朗誦,也許會另有一番滋味。另外,還可以考慮附加一個統(tǒng)計功能(或借助第三方工具),顯示出哪些鏡頭被調(diào)用的次數(shù)較多,公布一份“熱播排行榜”,評選出一批“優(yōu)秀設(shè)計師”,展才華無窮、示創(chuàng)意無限,充分調(diào)動更多學(xué)生的好奇心和積極性,讓編程成為學(xué)生們休閑娛樂的主陣地。
● 結(jié)束語
今后,隨著社會的發(fā)展和科技的進(jìn)步,當(dāng)思維與環(huán)境不對稱的時候,還需靈活調(diào)控兩種思維方式的平衡,一方面去發(fā)現(xiàn)研究過程的非線性特點,一方面用線性的方式去應(yīng)對。這樣的經(jīng)歷才能讓學(xué)生更好地理解和應(yīng)用科學(xué)知識,掌握科學(xué)研究方法,更為深入地理解科技的本質(zhì),也能更好地面對生活中的實際問題。