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

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

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

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

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

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

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