複製鏈接
請複製以下鏈接發送給好友

Scratch

(全球少兒圖形化編程工具(語言))

鎖定
Scratch 是世界上最大的兒童編碼社區,是一種具有簡單視覺界面的編碼語言 [1]  ,主要面對全球青少年開放,允許青少年創作數字故事、遊戲和動畫,並通過將它們上傳到 Scratch 網站與在線社區分享。Scratch 由麻省理工學院的“終身幼兒園團隊”開發,在 2007 年作為可下載的桌面應用程序推出。在麻省理工學院開發和支持超過 15 年後,Scratch 於 2019 年底從麻省理工學院分拆出來併入Scratch 基金會。 [2] 
外文名
Scratch
上線時間
2007年1月8日
程序設計語言
HTML/JavaScript 格式
相關軟件
ScratchJR
類    別
編程工具
開發團隊
終身幼兒園團隊
最新版本
3.30.5
使用平台
電腦、平板電腦
文件格式
*.sb

Scratch軟件介紹

Scratch是一種具有簡單視覺界面的編碼語言,可以通過Scratch創建自己的交互式故事、遊戲和動畫,並與世界各地的其他人分享創作。它促進計算思維和解決問題的能力、創造性的教學和學習、自我表達和協作以及計算領域的公平性。Scratch 始終免費,並提供 70 多種語言版本。
Scratch 專為 8 至 16 歲兒童設計,但適合所有年齡段的人使用。數以百萬計的人在各種環境中創建 Scratch 項目,包括家庭、學校、博物館、圖書館和社區中心。學生可以使用 Scratch 進行各個級別(從小學到大學)和跨學科(例如數學、計算機科學、語言藝術、社會研究)的學習。
Scratch3.0

ScratchScratch大會

Scratch貓 Scratch貓
2008年7月24-26日,MIT的Scratch團隊舉辦了第一次的全球Scratch社羣聚會“Scratch@MIT”,約有300多位老師、研究學者、軟件開發者前來參與,該研討會的目的是
  • 分享Scratch是如何在家裏、教室、社區中心被使用的故事。
  • 參與要親自動手操作的工作坊,學習Scratch的新技巧和策略。
  • 研討孩子們用Scratch學會了些什麼。
  • 和MIT的Scratch團隊一起探索Scratch的未來發展方向。
第一個講題是Sowing the Seeds for a More Creative Society,由MIT媒體實驗室的龍頭老大Mitchel Resnick主講。
第二個講題是:Imagine-Program-Share: Stories from the Scratch Online Community(想象-編程-分享:Scratch線上社羣的故事),一個會議的開幕演講是多麼有重要性,他們居然“足甘心”地邀請四個在Scratch線上社羣很活躍的孩子從世界各地來參加,可見他們對孩子們的重視,真的不是説説而已。

Scratch發展歷史

Scratch的1.4版本、2.0版本和3.0軟件版本分別是用SmalltalkFlashHTML5開發的。

ScratchScratch1.x時期

Scratch 1.4 Scratch 1.4
Scratch1.x採用Smalltalk編寫。作為“OLPC(One Laptop per Child,每個孩子都有一台電腦)”項目的一部分,Smalltalk提出一個建議的語言學習順序,其中的每種語言都被設計成下一種的入門和基礎。這個順序是:Scratch-Etoys-Squeak-任意Smalltalk。在學習的過程中,每一種語言都提供了圖形化的編程環境,不僅是用於教會孩子們一些編程的概念,而且是包含物理和數學知識的模擬及講述故事的一些練習。Smalltalk和Squeak作為全功能的應用程序開發語言,在過去的數十年中已經變得十分有名了,而Scratch是孩子們學習的工具。在整個1.x系列中,Scratch官網基本保持不變。該版本的Scratch和網站沒有聯繫(除了發佈程序)。這在2.0時期中發生了變化,人們可以在網頁裏製作程序。

ScratchScratch2.0時期

Scratch2.0是由andresmh於2010年1月在Scratch論壇上發佈的。它採用Flash編寫,支持了矢量圖。Scratch2.0分為離線版和在線版,在線版允許直接在Web瀏覽器裏創建、編輯和查看項目(不再需要上傳、下載項目或者安裝其它軟件),可以使用雲變量。離線版則只能本地製作程序,且無法使用雲變量。
Scratch 2.0 Scratch 2.0
Scratch2.0離線版在Scratch官網提供下載,便於在無法連接Internet的情況下使用,2.0版本加強了與外部鏈接設備的互動,例如Lego Wedo等。2020年,更加先進的3.0版本發佈後,官網不再提供Scratch2.0編輯器。

ScratchScratch3.0時期

Scratch3.0放棄了Flash,採用了HTML5來編寫,HTML5是最新的HTMLCSSJavaScript的總和,Scratch3.0首先將會使用WebGL、Web Workers和Web Audio Javascript Libraries。JavaScript是一種廣泛的語言,它支持所有瀏覽器和WebGL,從而跨平台使用。它經過了精心挑選,JavaScript運行不需要任何額外的插件。 [1] 
Scratch3.0這個名字首先是由Scratch團隊的Andrew Sliwinski在2016年5月提出的。2018年1月,Scratch3.0的第一個公測版本(Scratch 3.0 beta)在Scratch官網上發佈 [2]  ,Scratch3.0在線編輯器的發行版本在2019年1月發佈,而離線編輯器在2019年1月後也提供下載使用。
Scratch 3.0 Scratch 3.0
Scratch3.0不僅僅是重構,也增加了一些功能,比如“移到最後面”積木、“文字朗讀”“翻譯”擴展等。編輯器的外形看起來更加柔美,支持多次撤銷和重做。Scratch3.0保存的文件格式為.sb3,但它也可以讀取.sb和.sb2文件。

Scratch頁面佈局

以當前版本Scratch 3.0為例,頁面佈局如下 [3] 
Scratch 3.0頁面佈局 Scratch 3.0頁面佈局

Scratch菜單欄

導航欄是每個 Scratch 頁面頂部的欄。包含鏈接到首頁的 Scratch 圖標、單擊時會打開語言列表的地球圖標、文件和編輯菜單、教程等。用於文件新建、加載、保存、教程查看及作品搜索。當一個人在軟件中向上或向下滾動時,導航欄會保持在原位,始終可以快速訪問。 [3] 

Scratch代碼塊選擇區

代碼塊選擇區位於主界面屏幕左側的區域。包含 Scratch 中的九個代碼塊類別,在類別的右側,顯示該類別對應的代碼塊。這些塊可以拖到代碼區中來製作腳本。擴展按鈕位於代碼塊選擇區的左下角,它允許用户添加自定義代碼塊作為擴展模塊,這些擴展代碼塊將被添加到代碼塊選擇區中,例如與其他設備通信的塊。

Scratch代碼編輯區

代碼編輯區是代碼塊選擇區右側的大空間,它是一個淺灰色的矩形。它是用於存儲運行項目的塊的區域。可以將塊從代碼塊選擇區拖動到代碼編輯區中,並排列成腳本。每個角色都有自己的腳本,可以在角色區選擇角色。
要在 Scratch 中編碼,只需從代碼塊選擇區中拖出塊並將它們組裝到代碼編輯區中即可。可以在該區域更改代碼塊的值。滾動條向各個方向延伸該區域。可以使用鼠標或觸摸板垂直滾動代碼區域。觸摸板還可以水平滾動該區域。 [4] 

Scratch舞台

舞台是顯示角色並執行其操作的區域。它位於頁面右側區域頂部。所有角色在舞台上都有特定的位置。它默認大小寬 480 像素,高 360 像素。舞台自身也可以有腳本、背景及聲音。 [5] 

Scratch角色區

角色區位於代碼編輯區和舞台下方。它允許創作者快速切換角色並查看每個角色包含的不同腳本。在代碼編輯區使用的所有角色都會列表在此,可以通過單擊角色來訪問它們,每個角色有各自的腳本、造型及聲音。在角色的上方,有一個區域包含角色的名稱、位置、大小和方向,這些屬性可以直接在此處更改。 [6] 

Scratch繪畫編輯器

繪畫編輯器是 Scratch的內置造型和背景編輯器。許多創作者 使用它製作自己的角色和背景。這些圖像包含兩種圖形類型:矢量圖形和位圖(光柵)圖形。矢量圖形將對象存儲為形狀或數學曲線而不是像素。這使得矢量圖形看起來更平滑,因為它們可以無限放大而不會出現像素化。位圖圖形,也稱為光柵圖形,將圖像存儲為網格結構中的像素數組。這使得它們更容易繪製和操作,但會導致它們在放大時顯得模糊或像素化。
Scratch3.0繪畫編輯區 Scratch3.0繪畫編輯區
繪畫編輯器最左邊的部分是造型窗格。它由用於創建新服裝的按鈕以及每個服裝的圖標組成,包括其造型編號和名稱,以及一個小預覽。在造型窗格中,列出了所選角色的每種造型。要在繪畫編輯器中編輯不同的造型,只需從窗格中單擊所需的服裝即可。 [7] 

Scratch聲音編輯器

Scratch3.0聲音編輯區 Scratch3.0聲音編輯區
聲音編輯器允許人們製作、查看和編輯角色和舞台的聲音。左側的聲音列表用於在編輯區域中選擇要編輯的聲音。單擊聲音將選擇它,所選聲音的右上角還有一個“X”,用於刪除聲音。右鍵單擊聲音將顯示三個選項:複製、導出和刪除。編輯區域是聲音列表右側和舞台左側的部分。它的頂部有一個條形圖,中間有一個聲音,底部有幾個工具,包含“快一點”、“慢一點”、“響一點”等效果。 [8] 

Scratch語言組成

Scratch代碼由代碼塊排列連接組成,代碼塊共包含9個主要類別、11個擴展類別和3個樹莓派擴展類別。 [9] 

Scratch運動塊

運動塊處理角色的移動。它們主要與角色的 x 和 y 位置和方向有關,舞台不包含任何 運動塊,因為它是一個靜止對象。

Scratch外觀塊

外觀塊與角色和舞台的外觀有關。其中一些功能是更換造型和應用圖形效果。

Scratch聲音塊

聲音塊與播放各種聲音有關,無論是 MIDI 音符還是保存的聲音。

Scratch事件塊

事件塊與項目中的各種觸發器相關,或者當一個部分向另一個部分發出運行信號時使用。

Scratch控制塊

控制塊以所需的方式運行項目的基本流程,無論是有預計的還是突發的。它們提供了循環各種塊和腳本的功能。它們“控制”項目並增強其運行。

Scratch偵測塊

感應塊與角色和舞台檢測條件相關聯。例如,偵測塊可用於檢測一個角色何時接觸另一個角色。

Scratch運算塊

運算塊用於處理項目中的許多數學函數,提供簡單到複雜的數學運算功能,包含加減乘除等數學運算塊、大小比較塊、邏輯運算塊和字符運算塊。

Scratch變量塊

變量塊包括兩個子類別:變量和列表,兩者都與存儲和訪問數據相關。變量塊用於存儲信息,例如項目中的分數,並將其用於代碼編寫等其他有益的目的。變量子類別用於保存與控制變量,例如修改變量值、顯示隱藏變量。列表子類別是包含多個變量的變量,可以向列表中插入、刪除或替換變量。

Scratch自制積木

自制積木是為選定角色保存自定義過程的塊。這些塊對於運行腳本和組織腳本非常有用。還可以將布爾值、數字和字符串輸入添加到自制積木。

Scratch在線社區

Scratch官方運營維護Scratch在線社區,用户能夠將他們的項目分享在Scratch網站並獲得反饋。項目可以直接從軟件上傳到 Scratch 網站,社區的任何成員都可以查看和下載完整的源代碼以進行研究。
Scratch 團隊與社區合作,為所有年齡、種族、民族、宗教、性取向和性別認同的人維護一個友好和尊重的環境。用户可以在開放的學習社區中與來自不同背景、年齡和興趣的其他 用户一起探索和實驗。成員可以分享他們的工作、獲得反饋並相互學習。
參考資料