一、何為少兒編程
少兒編程並不需要寫代碼,而是以簡單易用的圖形化編程為主,注重趣味性和可玩性,學習目標不是培養未來的程序員,而是培養孩子的思維、學習和獨立解決問題的能力,以及培養探索、創新和協作等精神。少兒編程所使用的編輯器有很多,例如Scratch、Etoys、Alice等,本文將要介紹的編輯器是Scratch。
Scratch是由麻省理工媒體實驗室出品,目前有3個版本,其中1.x版本用Squeak編寫,2.0開始改為ActionScript,在2019年1月將正式發布用HTML5編寫的3.0版本。通過該軟件可創造多媒體程序、互動游戲、動畫故事等作品。在Scratch首頁的底部可以選擇語言,如下圖所示,我選擇了簡體中文,注意,本文使用的是2.0版本。
點擊創建可以進入在線編輯器的界面,如下圖所示。我把比較重要的部分用紅色粗線框出了,其中代碼庫也叫積木區,編程的方式就是把這些積木(即指令)拖動到腳本區,組成一段段程序,完成各種邏輯。角色通過積木區被賦予各種動作,然后在舞台中執行他們的動作。少兒編程的重點就是如何組織這些動作,完成各種表演。
在線編輯器用起來比較卡,官方給出了Scratch 2.0 離線編輯器,入口在首頁的底部,下圖框出的鏈接就是入口。
由於2.0版本的離線編輯器是基於Flash編寫的,因此如果電腦上沒有安裝Flash,需要先安裝。
三個版本的離線編輯器的下載包我已上傳到百度雲盤,但由於限速,因此你得有耐心。如果想下的快點,又不想付費,Windows用戶可以使用速盤,mac用戶可以用proxyee-down。
下載地址:https://pan.baidu.com/s/1xgBrgX8weS49_LL4rSjMvw,提取碼:ch6g
二、工欲善其事必先利其器
接下來會對編輯器的各個區域做簡要的說明。
1)舞台
舞台是角色進行表演(移動、繪畫或交互等)的地方,舞台的寬為480步長,高為360步長,把舞台看成一個坐標系,舞台的中心點是(0, 0),如下圖所示。在舞台的左上角,有一個演示模式的按鈕(用紫色粗線框出),可以把舞台切換到全屏,並且隱藏所有的腳本和編輯工具。在舞台的右下角(用綠色粗線框出的部分)會顯示鼠標的坐標值,當鼠標在舞台上移動時,數字會不斷地改變。
2)角色列表
在角色區域,可以新建角色(綠色粗線框出),也可以新建舞台背景(紅色粗線框出)。角色有4種新建方式:從角色庫中選取、繪制新角色、從本地上傳和拍攝照片,分別對應下圖中的4個圖標:人物、筆、文件夾和照相機。
角色庫中可供選擇的素材還是蠻多的,做了眾多的分類,例如動物、人物、城市等,具體如下圖所示。當點擊繪制角色時,就會顯示造型標簽頁中的內容,里面有個繪圖編輯器,會在后面介紹。
背景庫的選擇也和角色庫一樣,種類眾多。如此可見,即使自己不制作素材,也可以創作出很不錯的作品。
3)積木區
Scratch的積木區頂部包含3個標簽頁(腳本、造型和聲音),在腳本標簽內包含10大模塊。而這10大模塊的積木有4種形狀,代表了不同含義和功能,這4種分別是命令積木、功能積木、觸發積木和控制積木。
命令積木和控制積木兩者上方均有一個缺口,下方通常都有凸起,這些缺口和凸起可以卡合在一起形成更長的腳本。
觸發積木的上方是圓形的,無缺口,說明它總是處於一段腳本的起始位置。這種積木會等待某個事件(例如按鍵或鼠標點擊等),一旦被觸發就立刻執行下方的腳本。
功能積木沒有缺口和凸起,無法單獨使用,通常是作為其它積木的輸入,它們的功能僅僅是得到一個值,例如計算數字、判斷真假等。
還有一些積木前面有復選框,如果選中該復選框,那么在舞台內會出現一個值顯示器,顯示當前積木的值,例如選中運動模塊中的x和y坐標,在拖動該角色時,值顯示器的內容也會隨之改變。
在積木區中還有一個運算模塊,不但支持基本的加減乘除,還支持取余和四舍五入。不僅如此,還能生成一個隨機數,並且提供了14個數學函數,包括平方根、指數、對數和三角函數等。
下面會編個簡單的程序,功能就是讓那只小貓往前走100步。首先從事件模塊中拖動“當綠旗被點擊”的積木,注意,如果要點擊開始按鈕(下圖紫色粗線框出的按鈕),那么就必須引入該積木;然后從控制模塊中拖出“重復執行10次”的積木;最后從運動模塊中拖出“移動10步”的積木。
下面的動圖是該程序運行后的效果,很簡單的一次動畫。全程都是在用可以理解的語言編程,編程難度不大,難點其實應該就是創意了。
編好的程序可以分享到Scratch的網站中,讓全世界的人看到,分享按鈕在腳本區的上方(如下圖紅線框出的按鈕)。
點擊分享后就會跳轉到展示頁面,可以編輯程序名稱、操作說明、備注和評論等信息。
4)造型
前面曾提到過,造型標簽頁中有個繪圖編輯器,這是個既強大又簡易的PS工具。它的主要部分包括
1、工具欄,功能包括畫筆、填充、橡皮等。
2、畫板,繪圖區域。
3、造型中心,用十字線標明造型的中心點。
4、線寬調節器,調節繪圖工具的寬度。
5、調色板,改變顏色或吸取顏色。
6、縮放工具,放大或縮小造型。
7、撤銷和重做按鈕,幫助修正錯誤或誤操作。
5)聲音
角色除了腳本和造型,還能播放聲音,例如導彈擊中目標時配上爆炸的聲音,會讓程序更加生動。聲音標簽頁可以管理和編輯角色播放的聲音。下圖紅色框出的部分中的3個圖標分別代表3種新建聲音的方式,分別是:從素材庫中選擇、錄音和上傳本地音頻文件(只支持MP3和WAV格式)。
聲音的素材庫與背景和角色的素材庫一樣,特別豐富,包含了種類繁多的聲音,例如動物、樂器和歌聲等。
為了能快速學習Scratch,我在網上買了3本相關的書,《Scratch 2.0少兒編程奇幻之旅》《Scratch 編程樂園:輕松制作炫酷的游戲》和《動手玩轉Scratch2.0編程―STEAM創新教育指南》,第一本圍繞拯救地球的故事展開,將程序設計的知識點滲透到故事情節中,第二本每一章都會制作一個游戲,並且對出現的編程概念進行講解。個人覺得前兩本更適合無計算機基礎的人閱讀,第三本比較適合程序員閱讀,該書會介紹基本的編程概念,然后制作多個運用此概念的案例,同時揭示Scratch在教學上的強大能力,此書的重點是解決問題,而非如何使用Scratch。
三本書所用的素材我也上傳到了百度雲,如需下載只要點擊下面的地址即可。
下載地址:https://pan.baidu.com/s/1DIguviHBwAAdgXAReXb8Qg, 提取碼:gy1b