資訊內容
學好Scratch必知的二三事,別樣的Scratch積木分類(上)
利利:上一篇當中,我們提及了Scratch的前世今生,從它的誕生當中能夠發現,它在出生時就具備了別樣的魅力。那么,對于這樣一種有趣的編程語言,要怎樣學習呢?
對于學習過編程語言的人,特別是掌握Java、PHP等后臺語言的人來說,在遇到Scratch時,反而不是非常容易“轉換學習思路”。
對于沒有學過編程的人,又應該怎樣掌握Scratch、學好Scratch呢?Scratch和其他編程語言有何不同之處?對象的概念你又是否了解?從功能角度來說,Scratch積木可以拆解為哪些類別?
全文字數2000字,推薦閱讀時長7分鐘
Scratch的近親
基本解析
Scratch這門語言,從展示效果層面來說,像極了HTML5(HTML、CSS、JavaScript)。說它是HTML5語言的近親,一點也不為過。
在認知心理學當中,有一個名詞 - “前攝抑制”:已有的知識和經驗,會抑制我們對新知識的認知和學習。
如果此前,你充分掌握了某門后臺編程語言,那么在接觸Scratch時,很有可能會出現不適。畢竟,前后端編程語言還是存在著明顯不同的。
碩碩
不了解HTML5,對于我了解Scratch有沒有影響?
利利
如果你接觸過其他后臺編程語言(PHP、Java、ASP.NET等),建議了解一下HTML5技術,便于更好的理解Scratch
利利
如果你沒有接觸過其他編程語言,那么,你可以直接學習Scratch,是否了解HTML5并不會對你造成影響

小貼士
HTML5技術的基礎知識
關于HTML5是什么,HTML5語言特點,并非本文的重點,因此在本文當中不做贅述。您可以查看利利的另一篇文章 - 碼匠與HTML5學堂 - 文章:零基礎看懂HTML5。
Scratch中的“對象”
對象、屬性、方法(功能)
在Scratch當中,每個角色都可以看做是一個對象,每個對象都擁有著自己的屬性和方法(方法,也稱為功能)。
角色、屬性、方法(功能)

定義功能:角色可以通過搭建一些積木,為角色賦予具體的功能(如:跳躍等);
操作屬性:用戶可以直接操作角色的屬性,比如大小、位置、方向、顯示狀態。
功能的調用 / 執行
為角色創建的具體功能后,并不代表這個功能立刻被使用,需要讓“功能”在“某種情況”下執行,這個過程被稱為“功能的調用 / 功能的執行”。
在Scratch當中,往往通過“事件”來讓角色的功能得到運行、讓角色的屬性發生改變。
創建功能與調用執行功能

小貼士
舞臺也是一個對象
在Scratch當中,角色可以看做一個對象,舞臺也可以看做一個對象,但是舞臺與角色卻有著細微的不同。
在Scratch當中舞臺的具體功能,后面有機會我會單獨開文詳細講解~
Scratch中的積木分類
在Scratch當中,屬性和方法,都通過積木來進行操控,而屬性和方法的界限卻并沒有那么清晰(此處和其他語言不同!)。
因此,在Scratch語言當中,我們不能按照傳統的方式進行“積木”分類。
其他編程語言,能非常清晰的分辨方法和屬性

我們可以開啟一種全新的分類方式:
1 基礎效果類:能夠直接設置屬性或方法的積木,通過這些積木,能夠直接操作角色的樣式,讓角色發生一些變化;
2 復雜功能類:無法單獨使用為角色增加功能,但是能夠與其他積木組合,為角色創建復雜功能的積木。
簡單理解:
第一類積木,讓角色“動起來”;
第二類積木,讓角色“動得更復雜”。
針對我們上面所提到的兩大類別積木(基礎效果類與復雜邏輯類),再做細化,可以大致得到如下分類:
Scratch的積木分類

小貼士
如何理解“動起來”
此處的“動”,并非單指移動,指的是角色發生各類變化
基礎效果類積木及特點
基礎效果類,分為表現層和交互層;
表現層,主要包含運動、外觀、聲音三大模塊,用于控制角色樣式。
交互層,主要包含詢問、鍵盤、鼠標、響度、綠旗事件,用于讓角色與用戶發生交互,實現用戶控制角色的功能。
基礎效果類 - 交互層積木

在只使用“基礎效果類”的積木時,也可以制作出完整的案例作品!此類作品具有一個共同的特點 —— 積木結構單一,為“順序結構”。
對于Scratch初學者,特別是在編程邏輯方面不擅長的學習者,可以從此類積木入手,在掌握熟練之后,再逐步觸碰“復雜邏輯類”的積木。
碩碩
何為順序結構?
利利
在編程語言當中,包含三種不同的語言結構,分別是“順序結構”“循環結構”和“分支結構”。
利利
所謂順序結構,就是積木(代碼)自上而下進行執行,并不會出現判斷或循環。
碩碩
順序結構能夠解決的問題有哪些?
利利
順序結構的程序主要解決計算、輸出等問題,在書寫時,只要按照解決問題的順序使用相應的積木就可以了。
碩碩
使用基礎效果類積木,能夠做哪些事情?
碩碩
或者說,能夠制作哪些類型的作品呢?
利利
展示類作品為主,比如故事、有聲讀物等;當然也可以制作簡單的運動效果。
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
